Diagnosing skin conditions using machine learning models

By training the machine learning diagnostic model set to process multiple skin abnormalities in the image, the problem of insufficient accuracy in diagnosing multiple overlapping health conditions is solved, and more accurate diagnostic results are achieved.

CN119831978APending Publication Date: 2025-04-15DIGITAL DIAGNOSTICS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510040273.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2019-07-01
Filing Date
2020-06-30
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

Existing computerized diagnostic systems are difficult to generate accurate diagnosis, especially in the presence of multiple overlapping health conditions in the image, as these systems are often trained to generate predictions of a single health condition.

Method used

By training a set of machine learning diagnostic models, images of patients are received and predictions of one or more health conditions are generated. The system is able to process overlapping symptoms of two or more skin abnormalities in the image and generate more accurate predictions by applying a set of machine learning models.

Benefits of technology

A more accurate diagnosis of two or more overlapping health conditions in the image is achieved, and the accuracy and effectiveness of computerized diagnostic systems are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119831978A_ABST
    Figure CN119831978A_ABST
Patent Text Reader

Abstract

The disclosure relates to diagnosing skin conditions using machine learning models. A diagnostic system trains a set of machine learning diagnostic models configured to receive an image of a patient and generate a prediction as to whether the patient has one or more health conditions. In one embodiment, a machine learning model set is trained to generate a prediction for an image containing two or more potential health conditions of a patient. In one example, symptoms of two or more health conditions are shown as two or more overlapping skin abnormalities on a patient. By using the architecture of diagnostic model sets described herein, a diagnostic system can generate more accurate predictions for images containing overlapping symptoms of two or more health conditions than existing systems.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of an invention patent application with an international application date of June 30, 2020 (priority date of July 1, 2019), which entered the Chinese national stage on December 30, 2021, and has a Chinese national application number of 202080048294.9 and is named “Using machine learning models to diagnose skin conditions”. Background Art

[0002] The present disclosure relates generally to diagnosing health anomalies, and more particularly to diagnosing overlapping health conditions in images.

[0003] The computerized diagnostic system is configured to receive an image of a patient and generate a prediction about whether the patient has one or more health conditions based on the presence of symptoms in the image. The computerized diagnostic system can be applied to predict health conditions in different anatomical parts of the patient. For example, a skin diagnostic system can be applied to predict whether an image of a patient's skin has one or more skin abnormalities, such as a rash, a nevus, eczema, acne, and a cold sore. As another example, a tumor diagnostic system can be applied to predict whether an image of a patient's anatomical structure contains a tumor.

[0004] Often, a patient may have multiple health conditions that appear in the same image. For example, an image may contain a psoriasis plaque and a mole, both skin abnormalities located on the same arm, spatially separated from each other. As another example, an image may contain skin abnormalities that overlap each other, such as a psoriasis plaque with a pigmented mole within its borders. However, in these instances, existing computerized diagnostic systems have difficulty generating accurate diagnoses because, for example, the computerized diagnostic systems have been trained to generate predictions for a single health condition. In addition, when health conditions overlap, the presentation and other symptoms in the image may be the result of either condition alone or a combination of both conditions, and the computerized diagnostic system may have difficulty accurately distinguishing the symptoms in the image as the corresponding health conditions. Summary of the invention

[0005] The diagnostic system trains a set of machine learning diagnostic models that are configured to receive an image of a patient and generate a prediction as to whether the patient has one or more health conditions. In one embodiment, the set of machine learning models is trained to generate predictions for an image that includes two or more potential health conditions for the patient. In one instance, symptoms of the two or more health conditions are shown as two or more overlapping skin abnormalities on the patient. By using the architecture of the set of diagnostic models described herein, the diagnostic system can generate more accurate predictions for images that include overlapping symptoms of two or more health conditions compared to existing systems.

[0006] In an embodiment, a diagnostic system receives a request from a client device to diagnose a skin abnormality in an input image. The input image includes overlapping symptoms of two or more skin abnormalities on the skin. The diagnostic system accesses a set of machine learning diagnostic models from a database. Each machine learning model includes a corresponding set of trained weights, which are determined by a training process. The diagnostic system generates a corresponding prediction for each of the two or more skin abnormalities in the input image by applying the set of diagnostic models to the input image. The prediction indicates the likelihood that a corresponding skin abnormality of the two or more skin abnormalities is shown in the input image. The diagnostic system generates a diagnosis of the skin abnormality from the prediction of the input image and provides the diagnosis to the client device.

[0007] In one embodiment, a diagnostic system trains a set of machine-learned indicator models that are configured to receive an image of a patient or individual and generate an indication of whether the input image presents two or more health conditions. In one embodiment, the diagnostic system receives a request to diagnose a health condition in an input image. The diagnostic system accesses an indicator model or a diagnostic model with indicator functionality from a database. By applying the indicator model to the input image, the diagnostic system generates an indication representing the likelihood that the input image includes two or more health conditions. The diagnostic system determines from the indication generated for the input image whether the input image presents two or more health conditions. The diagnostic system generates a result of the request based on the determination and provides the result to a user of a client device.

[0008] Because input images presenting multiple health conditions may be difficult to diagnose, a user of a client device may receive such an indication as a supplement or alternative to an active diagnosis of the image. The user may then determine to provide the input image to a medical expert for a more accurate diagnosis. Thus, it would be advantageous for a user of a computerized diagnostic system to receive information regarding whether an input image includes symptoms from two or more health conditions so that a different expert system or medical expert can make a more accurate diagnosis. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 is a high-level block diagram of a system environment for a diagnostic system according to an embodiment.

[0010] Figure 2 The general reasoning process of the diagnosis model according to the embodiment is illustrated.

[0011] Figure 3 An example reasoning process of a set of machine learning diagnostic models with an integrated architecture according to an embodiment is illustrated.

[0012] Figure 4 An example inference process using independent component analysis (ICA) in conjunction with a set of diagnostic models according to an embodiment is illustrated.

[0013] Figure 5 An example reasoning process of a diagnostic model with a recurrent neural network (RNN) architecture according to an embodiment is illustrated.

[0014] Figure 6 An example reasoning process of a diagnostic model set including discriminator models for amorphous and localized skin abnormalities according to an embodiment is illustrated.

[0015] Figure 7 An example inference process of a diagnostic model with non-maximum suppression according to an embodiment is illustrated.

[0016] Figure 8 An example reasoning process of an uncertainty model according to an embodiment is illustrated.

[0017] Fig. 9 is a block diagram of the architecture of a diagnostic system according to an embodiment.

[0018] Fig.10 The diagram shows a method for Figure 4 An example training process for the set of diagnostic models shown in .

[0019] Fig.11 An exemplary data flow for diagnosing overlapping skin abnormalities in an image is illustrated in accordance with an embodiment.

[0020] Fig.12 An exemplary data flow for generating an indication of two or more skin abnormalities in an input image is illustrated, according to an embodiment.

[0021] The accompanying drawings depict various embodiments of the present invention for illustration purposes only. Those skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods described herein may be employed without departing from the principles of the present invention described herein. DETAILED DESCRIPTION

[0022] Overview

[0023] Figure 1 is a high-level block diagram of a system environment for a diagnostic system according to an embodiment. Figure 1 The illustrated system environment 100 includes one or more client devices 110, a network 120, and a diagnostic system 130. In alternative configurations, different and / or additional components may be included in the system environment 100.

[0024] The diagnostic system 130 is a system for providing various types of computerized diagnoses to users of the client device 110. The diagnostic system 130 can receive an image of an anatomical part of a patient and generate a prediction about whether the patient has one or more health conditions based on the image. For example, the diagnostic system 130 can receive an image of the patient's skin and generate a prediction about whether the patient has one or more skin abnormalities, such as a rash, a nevus, eczema, acne, and a cold sore. As another example, the diagnostic system 130 can receive a radiological image of the patient's brain and generate a prediction about whether the patient has a brain tumor. The prediction generated by the diagnostic system 130 can be used as a stand-alone diagnosis, or can be used to assist, for example, a doctor in a hospital in interpreting the patient's images.

[0025] The diagnostic system 130 trains a set of machine learning diagnostic models that are configured to receive images of a patient and generate predictions of one or more health conditions. The images received by the diagnostic system 130 may be medical images obtained in a hospital, such as radiological images, computed tomography (CT) scans, medical resonance imaging (MRI) scans, X-ray images, ultrasound or sonographic images, tactile images, or thermal imaging images. In another example, the images may be pictures taken by a personal user of the client device 110 (e.g., at home or in the office). The images may show symptoms or other presentations on the patient's anatomical parts, which the diagnostic system 130 may use to infer the health conditions that are the cause of the symptoms.

[0026] In one embodiment, the diagnostic system 130 trains a set of machine learning models to generate predictions for an image that includes symptoms of two or more health conditions of a patient. Specifically, a patient may have symptoms from multiple health conditions that appear in the same image. For example, an image may contain psoriasis plaques and moles, both skin abnormalities located on the same arm, spatially separated from each other. As another example, an image may include skin abnormalities that overlap each other, such as psoriasis plaques with pigmented moles within their boundaries. However, in these instances, existing computerized diagnostic systems may have difficulty generating accurate diagnoses, especially when symptoms overlap, because symptoms may be the result of an unknown combination of underlying health conditions of a patient or the result of an individual. In addition, existing diagnostic systems may be configured to generate predictions for a single condition. Therefore, even if an existing diagnostic system is able to detect one of the health conditions in an image, the detected condition will exclude the remaining health conditions in the image, resulting in missed diagnoses, which can lead to significant health problems for the subject of the image.

[0027] During the reasoning process, the diagnostic system 130 receives a request to diagnose a health condition in an input image. The input image includes overlapping symptoms of two or more health conditions from a patient. The diagnostic system 130 accesses a set of machine learning diagnostic models from a database. Each machine learning model includes a corresponding set of trained weights, which are determined by a training process. The diagnostic system 130 generates a corresponding prediction for each of the two or more health conditions in the input image by applying the diagnostic model set to the input image. The prediction indicates the likelihood that the input image shows symptoms from the corresponding health condition. The diagnostic system 130 generates a diagnosis for the input image from the prediction and provides the diagnosis back to the client device 110.

[0028] In a specific embodiment mentioned in the rest of this specification, the two or more health conditions are two or more skin abnormalities that have overlapping symptoms presented on the patient's skin. For example, a mole may appear in an area of ​​skin with a rash. As another example, an area of ​​skin with eczema may overlap with a portion of skin with contact dermatitis. However, it should be understood that in other embodiments, the two or more health conditions can be any type of health-related condition, such as a disease or allergy that can produce overlapping or spatially separated symptoms in the same anatomical part of a patient. For example, the two or more health conditions can be different types of tumors, blood diseases, etc., which can present symptoms in a patient alone or in combination.

[0029] Figure 2 The general reasoning process of the diagnostic model according to the embodiment is illustrated. The diagnostic system 130 receives an input image 210 of a patient suspected of having a skin abnormality. Specifically, the input image 210 shows a first skin abnormality 212 and a second skin abnormality 214 overlapping each other on the patient's arm. The diagnostic system 130 accesses a set of machine learning diagnostic models from a database. The diagnostic system 130 applies the diagnostic model to the input image 210 to generate two or more predictions v'1, v'2, ..., v' for the input image 210. n The prediction v'1 may indicate the likelihood that the input image 210 includes symptoms from the corresponding skin abnormality i. Figure 2 In the example shown in , prediction v'1 may indicate a high likelihood that the input image 210 includes a nevus, while prediction v'2 may indicate a high likelihood that the input image 210 also includes a rash. The remaining predictions for other skin abnormalities may be associated with significantly low probabilities. By selecting a subset of predictions with probabilities above a predetermined threshold and providing a diagnosis to the client device 110, the diagnostic system 130 determines that the input image 210 includes a nevus and a rash.

[0030] Return to Figure 1In a system environment, the diagnostic system 130 typically uses a training corpus of images and labels to train a corresponding set of weights for a diagnostic model to reduce a loss function. The loss function for the diagnostic model indicates the difference between an estimated output and actual labels in the training corpus, the estimated output being generated by applying a diagnostic model with an estimated set of weights to input data that the diagnostic model is configured to receive in the training corpus, the actual labels in the training corpus representing the type of data that the diagnostic model is configured to predict. The estimated set of weights for the diagnostic model is repeatedly updated to reduce the loss function until a predetermined criterion is reached. In combination Fig. 9 The training process for the diagnostic model set is described in more detail.

[0031] As stated in this article, Figures 3 to 7 Various architectures of a set of diagnostic models are illustrated that the diagnostic system 130 can use during the inference process to generate predictions of two or more health conditions present in the image. Each of the architectures described below can include a set of trained weights determined through a training process that will be combined with Fig. 9 By using the architecture of the diagnostic model set described herein, the diagnostic system can generate more accurate predictions for images that include two or more overlapping health conditions compared to existing systems.

[0032] Figure 3 An example reasoning process for a machine learning diagnostic model set with an integrated architecture according to an embodiment is illustrated. In one embodiment, the diagnostic model set includes an integrated set of machine learning diagnostic models. Specifically, each diagnostic model in the ensemble is configured to receive an input image and generate one or more predictions about whether a patient has one or more health conditions by applying a trained set of weights to the diagnostic model. Figure 3 In the example shown in , the diagnostic model ensemble set includes “diagnostic model 1”, “diagnostic model 2”, and “diagnostic model 3”.

[0033] The diagnostic models in the ensemble are configured to generate predictions for different or the same set of health conditions as other diagnostic models in the ensemble. Figure 3 In the example shown in , "Diagnostic Model 1" can be configured to generate a prediction v' M1 1 and predicted v' M1 2. Prediction v, M1 1 indicates the possibility that the input image includes a mole, and predicts v' M1 2 indicates the likelihood that the input image includes a rash. As another example, “diagnosis model 2” may be configured to generate a single prediction v′ indicating the likelihood that the input image includes a rash M2 1, and "Diagnostic Model 3" can be configured to generate predictions v, M3 1 and predicted v' M32. Predict v' M3 1 indicates the possibility that the input image includes a mole, and predicts v' M3 2 indicates the likelihood that the input image includes acne.

[0034] During the inference process, the diagnostic system 130 generates a corresponding prediction for each of two or more health conditions in the input image by applying the ensemble of diagnostic models to the input image and combining the predictions for each corresponding health condition from the ensemble. In one example, the prediction for the corresponding health condition is generated by calculating the average of the predictions for the health condition generated by the ensemble. Figure 3 In the example shown in , by comparing the predictions v' from "Diagnostic Model 1" and "Diagnostic Model 2" M1 2. v' M2 1 is averaged to generate a prediction v' indicating the likelihood that the patient has a rash l However, it should be appreciated that in other embodiments, the predictions from the diagnostic models in the ensemble may be combined in any other manner other than an average. The diagnostic system 130 determines a diagnosis by selecting a subset of predictions having a likelihood above a predetermined threshold.

[0035] In one embodiment, the diagnostic models in the ensemble set can be configured to generate multiple outputs that do not necessarily correspond to the same sequence of health conditions each time the diagnostic models are applied to the input image. In such an embodiment, the diagnostic system 130 can group the predictions from the ensemble set by similarity of the predictions and intermediate features, and can generate predictions for two or more health conditions presented in the input image by combining the predictions from each identified group. In another instance, the diagnostic system 130 can group the predictions from the ensemble set at similar locations using, for example, an attention model, and can generate predictions for two or more health conditions in the input image by combining the predictions for each identified location.

[0036] Figure 4 An example reasoning process using independent component analysis (ICA) in combination with a diagnostic model set according to an embodiment is illustrated. In one embodiment, the diagnostic model set includes a feature extractor model, an independent component analysis (ICA) model, and a feature classifier model. The feature extractor model is configured to receive an input image and generate an image tensor characterizing multiple spatial features in the input image by applying a first trained weight set. The ICA model is configured to receive an image tensor and extract multiple components from the image tensor. The feature classifier model is configured to receive a component and generate a prediction by applying a second trained weight set, which indicates the likelihood of a corresponding health condition for the component.

[0037] During the inference process, the diagnostic system 130 generates an image tensor 416 for the input image by applying the feature extractor model to the input image. Considering each spatial position in the image tensor 416 as an observation position, the diagnostic system 130 performs ICA to extract multiple components CF1, CF2, CF3, ..., CF from the image tensor 416. n For each extracted component, the diagnostic system 130 calculates the contribution of the component to the image tensor 416 to generate a corresponding tensor for the component. In one example, the corresponding tensor for the component is generated by calculating the contribution of the remaining components in the plurality of components and subtracting the contribution of the remaining components from the image tensor 416. Figure 4 In the example shown in FIG. 4 , the corresponding tensor 418 for component CF1 is obtained by calculating the remaining components CF2, CF3, ..., CF n and subtracting these contributions from the image tensor 416. Figure 4 Only the corresponding tensor 418 for component CF1 is illustrated, but the process can be repeated to generate tensors 418 for the remaining components CF2, CF3, ..., CF n The corresponding tensor for each of .

[0038] For each tensor, the diagnostic system 130 generates a prediction by applying a feature classifier model to the tensor for the component. Figure 4 In the example shown in , a prediction v'1 for component CF1 is generated by applying the feature classifier model to the tensor 418 for the component. Figure 4 Only the prediction v'1 for component CF1 is illustrated, but the process can be repeated to obtain the predictions v'1 from the remaining components CF2, CF3, ..., CF n By selecting a subset whose likelihood is above a threshold, the diagnostic system 130 generates a corresponding prediction based on the predictions v'1, v'2, ..., v' n to confirm the diagnosis.

[0039] Based on the number of components extracted from the image tensor, the diagnoses can each correspond to a different health condition under the input image, or if the number of extracted components is greater than the number of health conditions included in the input image, a subset of diagnoses can correspond to the same health condition. In one instance, the diagnostic system 130 extracts a predetermined number of components based on the estimated number of health conditions in the input image. In another instance, the diagnostic system 130 performs ICA with an increasing number of components and iteratively generates predictions and diagnoses with each new component. The diagnostic system 130 completes the reasoning process when further increasing the number of components does not increase the number of unique diagnoses, and there is convergence for the criterion function of ICA. In one instance, there may be a threshold number of components added for determining convergence. For example, adding three components when the diagnostic set remains unchanged can be considered convergence.

[0040] In another embodiment, multiple components are pre-extracted during the training process. During the inference process, the diagnostic system 130 decomposes the image tensor into a mixture of multiple components, and calculates the contribution of each predetermined component to the image tensor to generate a corresponding tensor for each component. The diagnostic system 130 identifies a subset of components with contributions above a threshold. For each tensor, the diagnostic system 130 generates a prediction by applying a feature classifier model to the tensors for the components in the subset. In some embodiments, each predetermined component can be pre-classified and stored using the feature classifier model. Then, the classification result is determined by using the stored components associated with the contributing components.

[0041] Figure 5 An example reasoning process of a diagnostic model having a recurrent neural network (RNN) architecture according to an embodiment is illustrated. In one embodiment, the diagnostic model set includes a diagnostic model having an RNN architecture, which includes one or more neural network layers with a set of weights. The RNN architecture is configured to receive an image sequence and sequentially generate predictions for two or more health conditions presented in the image sequence. The sequence of input images can be a repeated sequence of the same input images, or can be a sequence of images that capture the anatomical part of the patient in question with different views, perspectives, filters, etc. Figure 5 In the example shown in , the image sequence 510(1), 510(2), ..., 510(n) is the same image of the skin of a patient's arm. However, in another example, the image sequence may include images of the same arm captured from different viewpoints or with different color scales.

[0042] Specifically, for the current image in the sequence, the RNN architecture is configured to receive the current image 510(i) and the hidden state h of the previous iteration. i-1 , and generates a hidden state h for the current image 510(i) by applying the first trained weight seti The RNN architecture is also configured to receive the hidden state h of the current image i And generate a prediction v for the corresponding health condition by applying the second trained weight set i After each iteration, the RNN architecture may also be configured to determine whether the diagnostic model should generate a prediction for another health condition in the input image or complete the inference process. If the RNN architecture determines to continue generating predictions, the RNN architecture receives the next image 510 (i+l) in the sequence and generates a prediction v for another health condition. i+1 This process is repeated until the RNN architecture determines that the reasoning process is complete. Figure 5 In the example shown in , the prediction v'1 may indicate that the input image includes a mole, while the next prediction v'2 may indicate that the input image includes a rash.

[0043] In one embodiment, the RNN architecture is further configured to, at each iteration, in addition to the current image 510 (i) and the hidden state h of the previous iteration i-1 In addition, it also receives the memory vector m i , and generates a prediction v of the corresponding health condition from the current image 510(i) i . Memory vector m i can represent a vector that includes information about which health conditions have been classified until the current iteration i. For example, the memory vector m i It can be the total number of previous predictions or previous diagnoses up to the current iteration. Figure 5 In the example shown in , the memory vector m2 at the second iteration can indicate that a prediction or diagnosis has been made for a nevus based on v1 by the second iteration. By further configuring the RNN architecture to receive the memory vector, the diagnosis system 130 can construct a diagnosis model to generate a prediction for a health condition that has not been predicted in each iteration of the reasoning process.

[0044] During the inference process, by repeatedly applying the RNN architecture to the input image sequence, the diagnostic system 130 generates a corresponding prediction for each of the two or more health conditions. In one embodiment, when the RNN architecture is also configured to receive a memory vector, the diagnostic system 130 can obtain a corresponding memory vector for an iteration based on the predictions that have been generated up to the current iteration. By repeatedly applying the RNN architecture to the image sequence and the memory vector, the diagnostic system 130 generates a corresponding prediction for each of the two or more health conditions.

[0045] Figure 6An example reasoning process of a diagnostic model set including a discriminator model for amorphous and localized skin abnormalities according to an embodiment is illustrated. In one embodiment, the machine learning diagnostic model set includes a discriminator model, an amorphous abnormality model, and a localized abnormality model. The discriminator model is configured to receive an input image and generate an indication of whether the input image includes an amorphous skin abnormality or a localized skin abnormality by applying a first trained weight set. The amorphous abnormality model is configured to receive an input image and generate a prediction of whether the input image includes one or more amorphous skin abnormalities such as rashes and eczema by applying a second trained weight set. The localized abnormality model is configured to receive an input image and generate a prediction of whether the input image includes one or more localized skin abnormalities such as moles and acne by applying a third trained weight set.

[0046] Specifically, while amorphous skin abnormalities such as rashes, eczema, and dermatitis may appear on the skin without a definite shape or form, localized skin abnormalities such as nevi may be more clearly defined as localized spots on the skin. Therefore, due to the differences in shape and form, the diagnostic system 130 may obtain more accurate predictions by training two separate models, one of which generates predictions for amorphous skin abnormalities and the other for localized skin abnormalities.

[0047] During the inference process, by applying the discriminator model to the input image, the diagnostic system 130 generates an indication of whether the input image includes a localized or amorphous skin abnormality. Instead of generating a prediction that can be used to diagnose a specific type of skin abnormality (e.g., nevus, acne, rash), the output of the discriminator model can simply indicate whether the input image includes any skin abnormality that can be classified as amorphous and / or any skin abnormality that can be classified as localized. In response to determining that the input image includes an amorphous skin abnormality, by applying the amorphous abnormality model to the input image, the diagnostic system 130 generates a specific prediction of one or more amorphous skin abnormalities. In addition, in response to determining that the input image includes a localized skin abnormality, by applying the localized abnormality model to the input image, the diagnostic system 130 generates a specific prediction of one or more localized skin abnormalities.

[0048] Figure 7 An example inference process for a diagnostic model with non-maximum suppression according to an embodiment is illustrated. In one embodiment, a machine learning diagnostic model is configured to receive an input image and generate a vector including predictions for a list of health conditions. Figure 7 In the example shown in , the prediction v' generated by the diagnostic model may include one or more elements, each element corresponding to a prediction of a corresponding health condition. For example, the first element may correspond to a prediction that the input image includes eczema, the second element may correspond to a prediction that the input image includes dermatitis, and so on.

[0049] During the inference process, the diagnostic system 130 generates corresponding predictions for two or more health conditions by applying the diagnostic model to the input image. In one embodiment, the diagnostic system 130 determines the diagnosis by using non-maximum suppression. Specifically, the diagnostic system 130 groups the different health conditions represented by the vector v' and, for each group, selects only the health condition with the highest likelihood as part of the diagnosis. In one example, the health conditions are grouped according to how similar their symptoms appear visually on the patient, so that each group contains health conditions that the diagnostic model may have been confused by the image. Figure 7 In the example shown in , the health conditions for the first to fourth elements in the vector are assigned to "Group 1", while the health conditions for the n-3rd to nth elements are assigned to "Group m". By selecting the health conditions for the second element in "Group 1" and the n-1th element in "Group m" (because each element has the highest probability in each group) and setting the remaining elements to zero, the diagnosis system 130 determines the diagnosis v' nm .

[0050] Return to Figure 1 As shown in the system diagram of FIG. 1 , the diagnostic system 130 may also train a set of machine-learned indicator models that are configured to receive images of a patient and generate an indication of whether the input image presents two or more health conditions. Rather than proactively diagnosing a particular health condition itself, the diagnostic system 130 may generate an indication of whether the input image presents two or more health conditions and provide the result to a user of the client device 110. Specifically, instead of generating a prediction that can be used to diagnose a specific type of health condition, the output of the indicator model may simply determine whether the input image shows symptoms (e.g., overlapping symptoms) from two or more health conditions. Because input images presenting multiple health conditions may be difficult to diagnose, a user of the client device 110 may receive such an indication as a supplement or alternative to proactive diagnosis. The user may then determine to provide the input image to a medical specialist for a more accurate diagnosis.

[0051] Figure 8 An example reasoning process for an indicator model according to an embodiment is illustrated. In one embodiment, the diagnostic model trains a machine-learned indicator model configured to receive an input image and generate an indication e' of whether the input image presents two or more health conditions by applying a trained set of weights. Figure 8 In the example shown in , the diagnostic system 130 generates the indication e' by applying the indicator model to the input image. The diagnostic system 130 may simply provide information to the user of the client device 110 that the image includes too many health conditions for accurate diagnosis.

[0052] In another embodiment, instead of combining Figure 8 In addition to training a separate indicator model, the diagnostic system 130 also incorporates indicator functionality into the diagnostic model. For example, the diagnostic model can be configured to receive an input image and generate a prediction of one or more health conditions included in the image, and generate an indication of whether the input image presents two or more health conditions. Figures 2 to 7 The described diagnostic model set may also be configured to generate such an indication.As another example, the diagnostic model may be configured to generate a single output at a time, and may generate such an indication as a single output in response to receiving an input image showing two or more health conditions.

[0053] In one instance, the diagnostic model is configured to generate such an indication by classifying an input image presenting two or more health conditions into separate categories in response to receiving the input image and generating a likelihood for the separate category. In another instance, the diagnostic model is configured to generate such an indication when predictions for a health condition are output with relatively equal likelihoods or confidence levels to indicate ambiguity in the prediction. For example, if the predictions for having a pigmented nevus, a rash, and a skin disease are output as 0.32, 0.29, and 0.35, respectively, the diagnostic system 130 can determine that the input image includes symptoms from two or more health conditions.

[0054] In one embodiment, if the indicated likelihood is above a threshold likelihood, the diagnostic system 130 may determine that the input image presents two or more conditions, otherwise the input image presents a single health condition. In some embodiments, the indication may mark two possibilities: a first possibility as to whether the input image presents two or more health conditions, and a second possibility as to whether the input image presents a single health condition. If the first likelihood is above the threshold, the diagnostic system 130 may determine that the input image presents two or more conditions, and if the second likelihood is above the threshold, it may be determined that the input image presents a single health condition.

[0055] Thus, in one embodiment, the diagnostic system 130 may receive a request to diagnose a health condition in an input image. The diagnostic system 130 may access an indicator model or a diagnostic model with indicator functionality from a database. By applying the indicator model to the input image, the diagnostic system 130 may generate an indication representing the likelihood that the input image includes two or more health conditions. The diagnostic system 130 determines from the indication generated for the input image whether the input image presents two or more health conditions. The diagnostic system 130 generates a result of the request based on the determination and provides the result to the client device 110. The result may include a health care option for the individual in the input image based on the determination, and this suggested care option may be provided to the client device 110.

[0056] In one embodiment, the diagnostic system 130 may determine that the indication is ambiguous because the diagnostic model 130 cannot make a conclusive determination as to whether the input image presents two or more health conditions. For example, this may occur when both the first likelihood (e.g., the likelihood that the image presents two or more health conditions) and the second likelihood (e.g., the likelihood that the image presents a single health condition) are below a threshold (e.g., 80%). In such an embodiment, the diagnostic system 130 may output a result that no diagnosis can be made to the client device, and may, for example, suggest that the user of the client device 110 obtain medical expertise.

[0057] In some embodiments, in response to determining that the input image presents two or more skin abnormalities, the diagnostic system 130 may provide information about the indication to the client device 110 without providing a prediction of the two or more health conditions in the input image. For example, the diagnostic system 130 may review and confirm government regulations and policies (e.g., regulations issued by the Food and Drug Administration (FDA) or guidelines issued by the Centers for Disease Control (CDC), etc.), and generate results requiring compliance with such regulations. Therefore, even if the diagnostic system 130 can generate a prediction of two or more health conditions, the diagnostic system 130 may omit these results from the output to the client device 110 if the regulations impose restrictions on computerized diagnosis of the two or more health conditions presented in the image, for example. In such an embodiment, the diagnostic system 130 may simply provide the user with information that the input image contains two or more health conditions, but a diagnosis cannot be made due to government regulations.

[0058] In some embodiments, in response to determining that the input image presents a single health condition, the diagnostic system 130 can access a database and select a diagnostic model configured to generate a prediction of the single health condition. The diagnostic system 130 generates a prediction of the input image by applying the selected diagnostic model to the input image. The diagnostic system 130 generates a diagnosis of the single skin abnormality based on the prediction and provides the diagnosis as a result to the client device.

[0059] In some embodiments, in response to determining that the input image presents two or more health conditions, the diagnostic system 130 can access and select a set of diagnostic models configured to generate a corresponding prediction for each of the two or more health conditions from a database. For example, the diagnostic system 130 can access a combination of Figures 2 to 7 The described model is configured to generate predictions of two or more health conditions. The diagnostic system 130 generates predictions of two or more health conditions in the input image by applying the diagnostic model set to the input image. The diagnostic system 130 generates a diagnosis for the input image from the prediction and provides the diagnosis as a result to the client device 110.

[0060] Although combined Figures 2 to 8 The described machine learning models are configured to receive input data in the form of images, but these machine learning models can also be configured to receive additional types of input data. For example, the additional types of input data can include biographical data of the patient, such as the patient's height or weight, the patient's medical history, or the patient's answers to questions requesting information about existing medical conditions known to the patient. For example, the patient's medical history may indicate that the patient is prone to certain health conditions that may affect the model's prediction results.

[0061] Return to Figure 1 In the system diagram of FIG. 1 , the client device 110 provides an image of the patient's anatomical part to the diagnostic system 130 so that the diagnostic system 130 can generate and show a prediction or other indication on the client device 110. The user of the client device 110 may be a medical professional in a hospital who wishes to use the computerized diagnostic system to assist in diagnosing a patient's health condition. As another example, the user of the client device 110 may be an individual at home or in the office who wishes to obtain a diagnosis of a potential health condition based on symptoms present on the individual's body.

[0062] In one embodiment, the client device 110 includes a browser that allows a user of the client device 110 to interact with the diagnostic system 130 using standard Internet protocols. In another embodiment, the client device 110 includes a dedicated application designed specifically (e.g., by the organization responsible for the diagnostic system 130) to enable interaction between the client device 110 and the server. In one embodiment, the client device 110 includes a user interface that allows a user of the client device 110 to interact with the diagnostic system 130 to view predictions of health conditions in an input image. For example, the user interface can be configured to overlay predictions generated by the diagnostic system 130 on locations where the image is estimated to have a corresponding health condition.

[0063] Client device 110 may be a computing device, such as a or , a tablet computer, a laptop computer, a desktop computer, or any other type of network-enabled device that includes or can be configured to connect to a camera. In another embodiment, the client device 110 is a headset that includes a computing device or a smartphone camera for generating an augmented reality (AR) environment for the user, or a headset that includes a computing device for generating a virtual reality (VR) environment for the user. A typical client device 110 includes the hardware and software required to connect to the network 122 (e.g., via WiFi and / or 4G or 5G or other wireless telecommunications standards).

[0064] The network 122 provides the communication infrastructure between the client device 110 and the diagnostic system 130. The network 122 is typically the Internet, but can be any network, including but not limited to a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a mobile wired or wireless network, a private network, or a virtual private network.

[0065] Diagnostic system architecture

[0066] Fig. 9 is a block diagram of the architecture of the diagnostic system 130 according to an embodiment. Fig. 9 The illustrated diagnostic system 130 includes a training module 920, a data management module 925, a training module 330, a prediction module 930, and a processed output module 935. The diagnostic system 130 also includes a training data repository 960 and a model data repository 965. In alternative configurations, different and / or additional components may be included in the diagnostic system 130.

[0067] The data management module 920 obtains and manages the training data stored in the training data repository 960. The training data can be used to train the combined Figures 2 to 8The training data repository 960 includes information extracted from images or videos of individual anatomical parts and known diagnoses of health conditions presented in these images. For example, the training data repository 960 may include information extracted from medical images, such as radiological images, computed tomography (CT) scans, medical resonance imaging (MRI) scans, X-ray images, ultrasound or sonographic images, tactile images, or thermal imaging images, which are obtained by the data management module 920 from hospitals, medical image repositories, research image repositories, etc. As another example, the training data repository 960 may include information extracted from images taken by individuals, such as images obtained on a smartphone camera, which are obtained by the data management module 920 from users of the client device 110.

[0068] The training module 925 uses the information in the training data repository 960 to train the model set. Specifically, for a given diagnostic model M i , training data S i Including multiple training instances j = 1, 2, ..., | S i |, each of which includes the input data x j ∈S (e.g., training images or videos) and labels y j ∈Si, which are the input data x j ∈S is a known representation (e.g., diagnosis). Specifically, the input data X j This may include information extracted from training images capturing individual anatomical parts. In one embodiment, when the machine learning model is configured to receive additional types of data in addition to or in lieu of input images, the input data x j ∈S may also include additional types of data for the patients in the training images (e.g., demographic information for the patients). In one example, the label y j ∈S can be obtained by a human operator, such as a doctor, medical expert, or other individual who can verify the characteristics of the input data. In another example, the label itself can be a prediction generated by a machine learning model that is subsequently verified by a human operator.

[0069] The training module 925 trains the weight set for the model by repeatedly iterating between the forward propagation step and the back propagation step. During the forward propagation step, the training module 920 applies the model with the estimated weight set to the input data x across the corresponding subset Si of the training data. j ∈S to generate the estimated output y' j ∈S. The training module 920 determines a loss function, which indicates the estimated output y' j ∈S and the labels y of multiple training instances j∈S. During the back-propagation step, the training module 920 repeatedly updates the weight set of the model by back-propagating the error term obtained from the loss function. This process is repeated until the change in the loss function meets a predetermined criterion. For example, if the change in the loss function at each iteration is below a threshold, the criterion can be triggered.

[0070] In one embodiment, the loss function can be given by:

[0071]

[0072] For example, when the label y j is a continuous value, where θ p is a set of weights used in the diagnostic model. In another embodiment, for example, when the label y j When is a binary value, the loss function can be given by:

[0073]

[0074] However, it should be appreciated that the loss function may be any other function, such as L1-norm, L-infinity norm, which indicates the difference between the actual labels and the estimated outputs generated during each training iteration.

[0075] As described below, the training module 925 trains the combination Figures 2 to 7 The diagnostic models described herein can be used to determine an active diagnosis for an input image. In one embodiment, one or more diagnostic models are configured to generate a prediction y'=v' as an output vector, where each element in the output vector v' corresponds to a prediction for a corresponding health condition. In such an embodiment, the training labels y for the diagnostic models are j =v j Can be encoded as a one-hot encoded vector, where each element in the vector is a binary non-zero value (e.g., a value of 1) if the training image is diagnosed with the corresponding health condition for the element, and zero if there is no diagnosis. Therefore, for training images presenting two or more health conditions, each corresponding element can be set to an appropriate value so that two or more elements in the vector have non-zero values. For example, training data for a diagnostic model configured to predict rashes and nevi may include a label "[0 1]", where the first element indicates the presence of a rash in the corresponding training image and the second element indicates the absence of a nevus in the training image. In another embodiment, the diagnostic model can be configured to generate a prediction y'=v' as an output value, which can be assigned to one or more categories, each category representing a corresponding health condition. In this embodiment, the label y for the diagnostic model j =v jThe value of may label the category of the corresponding health condition diagnosed in the training image. For example, the training data of the example diagnostic model may include a label "1" indicating the presence of a rash in the training image, or a label "2" indicating the presence of a mole in the training image.

[0076] Training module 920 training combination Figure 3 The invention relates to an integrated set of diagnostic models described herein. Specifically, each diagnostic model in the integrated set can be configured to generate a prediction for a corresponding set of one or more health conditions. The diagnostic models in the integrated set can differ from each other in terms of the model architecture, the set of health conditions that the model is configured to predict, etc. In one embodiment, each diagnostic model is configured as a neural network architecture, which includes a set of node layers, each layer connected to the previous layer via a set of weights. Therefore, the diagnostic models in such an integrated set may differ from each other in terms of the number of layers, nodes, and connections within the architecture.

[0077] The training module 925 uses the training data set to train the weight set of the diagnostic model in the ensemble, the training set including the input data x j ∈Si training images and corresponding labels y j ∈S=v j ∈S, label y j ∈S=v j ∈S indicates that there is a specific health condition that the diagnostic model is configured to predict. During the forward propagation step, the training module 925 generates an estimated output y' by applying the diagnostic model to the training images j ∈S=v' j ∈ S. During the back-propagation step, the training module 925 repeatedly updates the set of weights for the diagnostic model with the terms obtained from the loss function.

[0078] Training module 920 training combination Figure 4 The weight sets for the feature extractor model and the feature classifier model described above. In one embodiment, the feature extractor model and the feature classifier model are trained by training a neural network architecture including a first part and a second part. The weight set for the first part of the neural network architecture can be stored as the weight set of the feature extractor model, and the weight set for the second part can be stored as the weight set of the feature classifier model. Subsequently, the weight set for the feature classifier model is retrained using multiple components extracted from the training image.

[0079] Fig.10 The diagram shows a method according to an embodiment of the present invention. Figure 4. The training module 925 trains a neural network architecture 1036 comprising a set of node layers, each layer connected to the previous layer via a set of weights. The neural network architecture 1036 can be configured to generate a prediction for a corresponding set of one or more health conditions. In one embodiment, the neural network architecture 1036 is configured as a deep neural network (DNN), a convolutional neural network (CNN), or any other type of neural network architecture that can receive image data and generate an output.

[0080] The training module 925 trains a set of weights for a neural network architecture using a training data set, the training data set including as input data x j ∈s training images and corresponding labels y j ∈S=v j ∈S, the label indicates the presence of a specific health condition that the feature classifier model is configured to predict. During the forward propagation step, the training module 925 generates an estimated output y' by applying the neural network architecture to the training images j ∈S=v' j ∈ S. During the back-propagation step, the training module 925 repeatedly updates the set of weights for the neural network architecture using the terms obtained from the loss function.

[0081] After completing the training process of the neural network architecture, the training module 925 stores the first portion of the neural network architecture as a weight set for the feature extractor model and stores the second portion of the neural network architecture as a weight set for the feature classifier model. In one embodiment, the first portion and the second portion are selected so that the second portion includes weight sets for layers subsequent to the layers of the first portion of the neural network architecture. For example, the first portion may include weight sets for the first three layers of the neural network architecture, while the second portion may include weight sets for the last five layers of the neural network architecture.

[0082] The training module 925 then uses the training data set to retrain the weight set for the feature classifier model, the training data set including as input data x j ∈si are multiple components CF extracted from the training images j ∈S and the corresponding label y j ∈S=v j ∈S, the label indicates the presence of a specific health condition that the feature classifier model is configured to predict in the training image. In one example, multiple components for the training image are extracted by applying the trained feature extractor model to the training image to generate an image tensor for the training image and performing ICA on the image tensor to generate multiple components. During the forward propagation step, the training module 925 extracts multiple components for the training image by applying the feature classifier model to the multiple components CF j ∈S to generate the estimated output y'j ∈S=v' j ∈ S. During the back-propagation step, the training module 925 repeatedly updates the set of weights for the feature classifier model with the terms obtained from the loss function.

[0083] Training Module 925 Training Combination Figure 5 The training module 925 uses a training data set to train the weight set for the RNN architecture. The training data set includes as input data x j ∈S training image sequence and corresponding label y j ∈S=v j ∈S, the label indicates the presence of a specific health condition that the RNN architecture is configured to predict. In one embodiment, when the training data for the RNN architecture includes training image sequences presenting two or more health conditions, the label v j At each iteration of the sequence, y can be a one-hot encoded vector with non-zero values ​​at the corresponding health conditions present in the training images. During the forward propagation step, the training module 925 generates an estimated output y' by repeatedly applying the RNN architecture to the training image sequence. j ∈S=v' j ∈S. In one embodiment, the label v j can be reordered during the forward propagation step of the training process so that the differences, such as |v j ∈s-v' j ∈S|, can be reduced or minimized over all possible orderings or subsets thereof. The training module 925 determines a loss function by combining the differences between the estimated output and the label at each iteration of the sequence. During the back-propagation step, the training module 925 repeatedly updates the set of weights for the RNN architecture using the terms obtained from the loss function.

[0084] Training Module 925 Training Combination Figure 6 The training module 925 uses a training data set to train a weight set for the discriminator model. The training data set includes as input data x j ∈s training images and corresponding labels y j ∈S=s j ∈S, the label indicates the presence of an amorphous skin abnormality or the presence of a localized skin abnormality. In one example, the discriminator model is configured to generate the indication as a vector, where the first element corresponds to the likelihood that the image includes an amorphous skin abnormality and the second element corresponds to the likelihood that the image includes a localized skin abnormality. In this example, if the training image includes an amorphous skin abnormality, then the label y j∈S may be encoded such that the first element of the vector is a non-zero value (e.g., the value 1), or if the image does not include an amorphous skin abnormality, the label y j ∈S may be encoded such that the first element of the vector is zero. Similarly, the second element of the vector is a non-zero value (e.g., a value of 1) if the training image includes a localized skin abnormality, or is zero if the image does not include a localized skin abnormality. During the forward propagation step, the training module 925 generates an estimated output y' by applying the discriminator model to the training image. j ∈s=s' j ∈s, and the set of weights for the discriminator model is repeatedly updated with the terms obtained from the loss function during the back-propagation step.

[0085] The training module 925 uses a training data set to train a weight set for the amorphous anomaly model. The training data set includes as input data x j ∈Si training images and corresponding labels y j ∈S=v j ∈S, the label indicates the presence of a specific amorphous skin abnormality that the model is configured to predict. The training data for the amorphous abnormality model may include training images with a single amorphous skin abnormality or multiple amorphous skin abnormalities. During the forward propagation step, the training module 925 generates an estimated output y' by applying the amorphous abnormality model to the training images j ∈S=v' j ∈ S. During the back-propagation step, the training module 925 repeatedly updates the set of weights for the amorphous anomaly model with the terms obtained from the loss function.

[0086] The training module 925 uses a training data set to train a weight set for a local anomaly model. The training data set includes as input data x j ∈S training images and corresponding labels y j ∈S=v j ∈S, the label indicates the presence of a specific local skin abnormality that the model is configured to predict. The training data for the local abnormality model may include training images with a single local skin abnormality or multiple local skin abnormalities. During the forward propagation step, the training module 925 generates an estimated output y' by applying the local abnormality model to the training images j ∈s=v' j ∈ S. During the back-propagation step, the training module 925 repeatedly updates the set of weights for the local anomaly model with the terms obtained from the loss function.

[0087] As further described below, the training module 925 further trains the combination Figure 8The indicator model described above provides an indication of whether an image presents two or more health conditions. The training module 925 trains a set of weights for the indicator model using a training data set, the training data set including as input data x j ∈s and the corresponding labels y indicating whether the training images present two or more health conditions j ∈s=e j ∈s. The training data may include training images with symptoms from a single health condition or multiple health conditions. In one example, the indicator model is configured to generate an indication indicating the likelihood that the image presents two or more health conditions. In this example, if the training image presents two or more health conditions, then the label y j ∈Si can be encoded as a non-zero value, or if the training image presents a single health condition, the label y j ∈Si can be encoded as zero. During the forward propagation step, the training module 925 generates an estimated output y' by applying the indicator model to the training image j ∈S=e' j ∈ S. During the back-propagation step, the training module 925 repeatedly updates the set of weights for the indicator model with the terms obtained from the loss function.

[0088] The training module 925 can also train a diagnostic model in conjunction with the indicator functionality. The diagnostic model can be any model configured to generate a computerized prediction of one or more health conditions in the image, such as Figures 2 to 7 , or a diagnostic model configured to predict a single health condition. While diagnostic training data (e.g., training images and corresponding health condition labels) can be used to train diagnostic models in general, training module 925 further trains diagnostic models to incorporate indicator functionality by also including indicative training data for the diagnostic models in addition to the diagnostic training data.

[0089] In one embodiment, the indicative training data S a The training images including two or more health conditions and corresponding labels y indicating the presence of the two or more health conditions in the training images j ∈Sa=v j ∈Sa. In one example, when the label y used to diagnose the training data j ∈S=v j ∈S is a one-hot encoded vector, the label y for the indicative training data j ∈Sa=v j∈Sa may be a vector in which all or most elements have non-zero values. For example, if the training images present two or more health conditions, the training data for a diagnostic model configured to predict a single health condition may include a label "[1 1]" that includes non-zero values ​​for all elements. In this way, the diagnostic model is configured to generate an indication by predicting relatively similar or equal likelihoods for all or most health conditions.

[0090] In another example, for the label y of the indicative training data j ∈Sa=v j ∈Sa may include additional elements or categories to assign images presenting two or more health conditions. For example, when the labels y of the diagnostic training data j ∈S=v j When ∈S is a one-hot encoded vector, in addition to elements for different health conditions, the label can be further configured to include a separate element for indication. If the training image presents two or more health conditions, the separate element is a non-zero value, and if the training image does not present two or more health conditions, the separate element is zero. For example, training data for a diagnostic model configured to predict rashes and / or nevi may include the label "[1 1 1]", where the first element indicates the presence of a rash in the corresponding training image, the second element indicates the presence of a nevus in the training image, and the third separate element indicates the presence of two or more health conditions in the training image. As another example, when the label y for diagnosis is j ∈S=v j ∈S is a category, the labels may be further configured to include separate categories for indications in addition to categories for different health conditions. For example, the training data for the example diagnostic model may include a label "1" indicating the presence of a rash in the training image, a label "2" indicating the presence of a mole in the training image, and a label "3" indicating the presence of two or more health conditions in the training image.

[0091] The training module 925 can store the trained machine learning models in the model data repository 965 so that they can be used during the inference process in combination with Figures 2 to 8 Deploy as described.

[0092] The prediction module 930 receives a request from the client device 110 to provide a computerized diagnosis of a health condition captured in an input image. In response to the request for a diagnosis, the prediction module 930 may select a diagnostic model set that may be used to generate a diagnosis for the input image using a diagnostic model trained by the diagnostic system 130. The prediction module 930 may apply the selected diagnostic model to generate a prediction of the health condition presented in the input image, similar to the combination of Figures 2 to 8The example reasoning process described. In one example, if the predicted likelihood is above a threshold, the prediction module 930 determines a diagnosis of the health condition. For example, if the predicted likelihood is above 0.80 or 80%, the prediction module 930 can conclude that the corresponding health condition is definitely present in the input image. Otherwise, the prediction module 930 can conclude that the corresponding health condition is not present in the input image.

[0093] In some embodiments, the prediction module 930 determines that the prediction of the corresponding health condition is uncertain, and may generate information that a diagnosis request cannot be made to the client device 110, or alternatively, may output diagnoses for the remaining health conditions to the client device 110, which have a decisive prediction. For example, if the corresponding prediction has a probability between a first and a second threshold (e.g., 20%-80%), the prediction module 930 may determine that the diagnosis is uncertain. In another example, if the predicted probability is within a threshold ratio of other predicted probabilities generated by the diagnostic model, the prediction module 930 determines the diagnosis of the health condition.

[0094] In one embodiment, the prediction module 930 is programmed to comply with relevant government regulations or policies governing computerized diagnosis, and generates diagnostic results to comply with current regulations and policies. For example, regulations and policies may specify various prediction thresholds for determining whether a corresponding health condition is present in an input image, and these thresholds may vary between different health conditions. In one instance, an administrator of the diagnostic system 130 may review these regulations and policies and program the prediction module 930 to comply with them. In another instance, the prediction module 930 may collect information from a website or database of a relevant organization (e.g., FDA) and generate predictions based on rules parsed from the collected information. Therefore, the prediction module 930 may review the predictions generated by the model and generate diagnostic results for the request to comply with these regulations and policies. For example, according to the policy established by the FDA, if the predicted probability exceeds a threshold of 80%, the prediction module 930 may determine a diagnosis of acne, and only when the predicted probability exceeds a threshold of 95% may the prediction module 930 determine a diagnosis of rash.

[0095] In addition, in response to a request for a diagnosis, the prediction module 930 can select an indicator model or a diagnostic model with indicator functionality to generate an indication for the input image. The prediction module 930 can apply the selected model to generate the indication. In one example, if the likelihood of the indication is above a threshold, the prediction module 930 determines that the input image presents two or more health conditions. In another example, if the likelihood of the indication is within a threshold ratio of other outputs generated by the selected model, the prediction module 930 determines that the input image presents two or more health conditions. Figure 8As described, the prediction module 930 can generate a result for the request based on the determination so that an appropriate diagnostic model can be selected to generate a diagnosis, or information that a diagnosis cannot be made can be output to the user of the client device 110, for example due to compliance with government regulations and policies regarding computerized diagnosis.

[0096] The treatment output module 935 provides potential treatment options in conjunction with the diagnosis provided by the prediction module 930. Given the diagnosis, it is advantageous for the user of the client device 110 to receive potential treatment options along with the diagnosis so that they can treat the health condition in a short period of time when needed. In one embodiment, the treatment output module 935 can generate treatment options by consulting human medical experts, reasoning with expert systems, or deriving options from previous systems. In one embodiment, the treatment output module 935 can suggest known treatment options to reduce and avoid side effects with respect to the health condition presented by the patient.

[0097] Approach to the diagnosis of overlapping skin abnormalities

[0098] Fig.11 A method of diagnosing overlapping skin abnormalities in an input image is illustrated. The diagnostic system 130 (e.g., via the network 120) receives 1102 a request from a client device to diagnose skin abnormalities in an input image. The input image includes overlapping skin abnormalities on the patient's skin. The diagnostic system 130 (e.g., using the prediction module 930 via the network 120) retrieves from a database (e.g., a model data repository 965, wherein the model 965 is trained using the training data 960 and may include a combination of Figures 2 to 8 The diagnostic model 130 accesses 1104 a set of machine learning models (models described in the examples). Each machine learning model includes a corresponding set of trained weights. The diagnostic model 130 performs the following steps by applying the set of machine learning models to the input image (e.g., in combination with Figures 2 to 8 The inference process described in the foregoing description) generates 1106 (e.g., using the prediction model 930) a corresponding prediction for each of the two or more skin abnormalities in the input image. The prediction indicates a likelihood that a corresponding skin abnormality in the two or more skin abnormalities is shown in the input image. The diagnostic system 130 generates 1108 a diagnosis for the overlapping skin abnormalities from the prediction (e.g., using the prediction module 930). The diagnostic system 130 provides 1110 the diagnosis to the client device (e.g., via the network 120).

[0099] Method of generating an indication of two or more skin abnormalities

[0100] Fig.12The method of generating an indication of two or more skin abnormalities in an input image is illustrated. The diagnostic system 130 receives 1202 a request from a client device (e.g., via the network 120) to diagnose a skin abnormality in the input image. The diagnostic system 130 receives 1203 a request from a client device (e.g., via the network 120) to diagnose a skin abnormality in the input image. The diagnostic system 130 receives 1204 a request from a database (e.g., a model data repository 965, wherein the model 965 is trained using the training data 960 and may include a combination of Figure 8 The machine learning model includes a corresponding set of trained weights. The diagnostic model 130 performs the following steps by applying the machine learning model to the input image (e.g., in combination with the prediction module 930). Figure 8 The diagnostic system 130 generates 1206 an indication (e.g., using the prediction module 930) based on determining the overlapping skin abnormalities from the predictions (e.g., using the prediction module 930). The diagnostic system 130 provides 1210 the result to the client device (e.g., via the network 120).

[0101] Summarize

[0102] The above description of the embodiments of the present invention is for illustrative purposes; it is not intended to be exhaustive or to limit the invention to the precise form disclosed. Those skilled in the relevant art will appreciate that many modifications and variations are possible in light of the above disclosure.

[0103] Certain parts of this specification sheet describe embodiments of the present invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are often used by those skilled in the art of data processing to effectively communicate the essence of their work to other technicians in the field. Although these operations are described functionally, computationally, or logically, they should be understood to be implemented by computer programs or equivalent circuits, microcodes, etc. Moreover, without loss of generality, it is sometimes proven to be convenient to refer to these operational arrangements as modules. The described operations and their associated modules can be embodied in software, firmware, hardware, or any combination thereof.

[0104] Any steps, operations or processes described herein may be performed or implemented using one or more hardware or software modules alone or in combination with other devices. In one embodiment, the software module is implemented by a computer program product including a computer readable medium, the computer readable medium containing computer program code, and the computer program code can be executed by a computer processor to perform any or all of the steps, operations or processes described.

[0105] Embodiments of the present invention may also be directed to an apparatus for performing the operations herein. The apparatus may be specially constructed for the desired purpose, and / or it may include a general-purpose computing device selectively activated or reconfigured by a computer program stored in a computer. Such a computer program may be stored in a non-temporary, tangible computer-readable storage medium or any type of medium suitable for storing electronic instructions, which may be coupled to a computer system bus. Furthermore, any computing system mentioned in the specification may include a single processor, or may be an architecture that employs a multi-processor design to increase computing power.

[0106] Embodiments of the present invention may also relate to products produced by the computing process described herein. Such products may include information generated from the computing process, wherein the information is stored on a non-transitory, tangible computer-readable storage medium and may include any embodiment of a computer program product or other data combination described herein.

[0107] Finally, the language used in the specification is selected primarily for readability and didactic purposes, and may not be selected to delineate or limit the subject matter of the present invention. Therefore, the scope of the present invention is not intended to be limited by the specific embodiments, but rather by any claims issued based on the application herein. Therefore, the disclosure of the embodiments of the present invention is intended to illustrate, but not to limit, the scope of the present invention, which is set forth in the following claims.

Claims

1. A method comprising: receiving, from a client device, a diagnosis request for a skin abnormality presented in an input image; generating an indication by applying a machine learning model to the input image, the indication representing a likelihood that the input image shows two or more skin abnormalities; In response to the indication indicating a single skin abnormality in the input image: generating a computerized diagnosis of the single skin abnormality, and outputting the computerized diagnosis for display on the client device; and outputting a message for display in response to the indication indicating two or more skin abnormalities in the input image.

2. The method according to claim 1, further comprising: accessing a diagnostic model from a database in response to said indication indicating said single skin abnormality; generating a prediction for the skin abnormality in the input image by applying the diagnostic model to the input image; as well as The computerized diagnosis for the input image is generated from the prediction.

3. The method of claim 1 , wherein the machine learning model is configured as a neural network architecture comprising at least one set of node layers, wherein each layer is connected to the previous layer through a corresponding set of trained weights.

4. The method of claim 1, wherein the output message indicates that a computerized diagnosis cannot be output for the input image. 5 . The method of claim 1 , outputting a second message for display in response to the indication indicating neither a single skin abnormality nor two or more skin abnormalities.

6. The method of claim 1 , wherein generating the indication further comprises: A first likelihood and a second likelihood are generated from the machine-learned indicator model, wherein the method further comprises: determining that the indication indicates that the input image presents a single skin abnormality when the first likelihood is above a first threshold; and determining that the indication indicates that the input image presents two or more skin abnormalities when the second likelihood is above a second threshold.

7. The method according to claim 6, further comprising: Responsive to both the first likelihood being below the first threshold and the second likelihood being below the second threshold, outputting a second message for display.

8. The method of claim 1, wherein the machine learning model is also a diagnostic model, the diagnostic model further configured to receive an image and generate a prediction for one or more skin abnormalities present in the image.

9. The method of claim 8, wherein generating the indication further comprises: The diagnostic model is applied to the input image to generate an output vector comprising a set of elements, wherein the prediction for the one or more skin abnormalities is represented by values ​​for a subset of elements in the output vector, and wherein the indication is represented by values ​​of one or more remaining elements in the output vector.

10. The method according to claim 8, The generating of the instruction further comprises: applying the diagnostic model to the input image to generate an output vector comprising a set of elements, the predictions for the one or more skin abnormalities being represented by values ​​of the elements in the output vector, and Wherein when the difference between the values ​​of the set of elements in the output vector is below a threshold, it is determined that the input image presents two or more skin abnormalities.

11. A non-transitory computer program product comprising a computer readable storage medium, the computer readable storage medium comprising computer program code for: receiving, from a client device, a diagnosis request for a skin abnormality presented in an input image; generating an indication by applying a machine learning model to the input image, the indication representing a likelihood that the input image shows two or more skin abnormalities; In response to the indication indicating a single skin abnormality in the input image: generating a computerized diagnosis of the single skin abnormality, and outputting the computerized diagnosis for display on the client device; and outputting a message for display in response to the indication indicating two or more skin abnormalities in the input image.

12. The non-transitory computer program product of claim 11, wherein the computer-readable storage medium further comprises computer program code for: accessing a diagnostic model from a database in response to said indication indicating said single skin abnormality; generating a prediction for the skin abnormality in the input image by applying the diagnostic model to the input image; and The computerized diagnosis for the input image is generated from the prediction.

13. A non-transitory computer program product according to claim 11, wherein the computer-readable storage medium also includes computer program code for the following operations: wherein the machine learning model is configured as a neural network architecture including at least one set of node layers, wherein each layer is connected to the previous layer through a corresponding set of training weights.

14. The non-transitory computer program product of claim 11, wherein the output message indicates that a computerized diagnosis cannot be output for the input image.

15. The non-transitory computer program product of claim 11, outputting a second message for display in response to the indication indicating neither a single skin abnormality nor two or more skin abnormalities.

16. The non-transitory computer program product of claim 11, wherein generating the indication further comprises: A first likelihood and a second likelihood are generated from the machine-learned indicator model, wherein the computer-readable storage medium further comprises a computer program code for determining, when the first likelihood is above a first threshold, that the indication indicates that the input image presents a single skin abnormality, and determining, when the second likelihood is above a second threshold, that the indication indicates that the input image presents two or more skin abnormalities.

17. The non-transitory computer program product of claim 16, wherein the computer-readable storage medium further comprises computer program code for: Responsive to both the first likelihood being below the first threshold and the second likelihood being below the second threshold, outputting a second message for display.

18. The non-transitory computer program product of claim 11, wherein the machine learning model is also a diagnostic model, the diagnostic model further configured to receive an image and generate a prediction for one or more skin abnormalities present in the image.

19. The non-transitory computer program product of claim 18, wherein generating the indication further comprises: The diagnostic model is applied to the input image to generate an output vector comprising a set of elements, wherein a prediction for the one or more skin abnormalities is represented by values ​​for a subset of elements in the output vector, and wherein the indication is represented by values ​​of one or more remaining elements in the output vector.

20. The non-transitory computer program product of claim 18, The generating of the instruction comprises: applying the diagnostic model to the input image to generate an output vector comprising a set of elements, the predictions for the one or more skin abnormalities being represented by values ​​of the elements in the output vector, and Wherein when the difference between the values ​​of the set of elements in the output vector is below a threshold, it is determined that the input image presents two or more skin abnormalities.

21. A computer system comprising: one or more processors; as well as A non-transitory computer program product comprising a computer readable storage medium, the computer readable storage medium comprising a computer program code for execution by the one or more processors, the computer program code for the following operations: receiving, from a client device, a diagnosis request for a skin abnormality presented in an input image; generating an indication by applying a machine learning model to the input image, the indication representing a likelihood that the input image shows two or more skin abnormalities; In response to an indication indicating a single skin abnormality in the input image: generating a computerized diagnosis of the single skin abnormality, and outputting the computerized diagnosis for display on the client device; and outputting a message for display in response to the indication indicating two or more skin abnormalities in the input image.