Adversarial Robustness of Deep Learning Models in Digital Pathology
By preprocessing and augmenting digital pathology images with synthetic adversarial examples, the models become more robust against variations, improving accuracy and reliability in image analysis.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- VENTANA MEDICAL SYSTEMS INC
- Filing Date
- 2026-03-25
- Publication Date
- 2026-06-30
AI Technical Summary
Machine learning models in digital pathology are vulnerable to adversarial examples due to variations in image quality and variability from scanners, laboratories, and tissue samples, leading to inaccurate image analysis.
The use of synthetic training data and adversarial algorithms to preprocess and augment images, identifying and excluding adversarial regions, thereby enhancing the robustness of machine learning models.
Improves the accuracy and reliability of digital pathology image analysis by training models to recognize and exclude adversarial regions, reducing misclassifications and enhancing the robustness of deep learning networks.
Smart Images

Figure 2026108754000001_ABST
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications This application claims priority to U.S. Provisional Patent Application No. 63 / 293,430, filed on December 23, 2021, the entire disclosure of which is incorporated herein by reference for all purposes.
[0002] Field The present disclosure relates to digital pathology, and more particularly, to techniques for pre - processing training data, augmenting training data, and using synthetic training data to effectively train a machine learning model to (i) exclude adversarial exemplary images and (ii) detect, characterize, and / or classify some or all regions of an image that do not contain adversarial exemplary regions.
Background Art
[0003] Digital pathology involves scanning slides (e.g., histopathology or cytopathology glass slides) into digital images that can be interpreted on a computer screen. Tissues and / or cells within the digital images can then be examined and / or interpreted by a pathologist through digital pathology image analysis for a variety of reasons, including disease diagnosis, evaluation of response to treatment, and development of drugs to combat disease. To examine the tissues and / or cells (which are substantially transparent) within the digital images, pathology slides can be prepared using various staining assays (e.g., immunohistochemistry) that selectively bind to the tissue and / or cellular components. Immunofluorescence (IF) is a technique for analyzing assays that bind to fluorescent dyes against antigens. Multiple assays responding to different wavelengths can be used on the same slide. These multiplexed IF slides allow for an understanding of the complexity and heterogeneity of the immune landscape of the tumor microenvironment, as well as the potential impact on the tumor's response to immunotherapy. In some assays, the target antigens for the stains in the tissue are sometimes called biomarkers. Subsequently, digital pathological image analysis can be performed on the digital images of the stained tissue and / or cells to identify and quantify the staining for antigens (e.g., biomarkers indicating various cells such as tumor cells) in the living tissue.
[0004] Machine learning techniques show great potential in digital pathology image analysis, including cell detection, counting, localization, classification, and patient prognosis. Many computing systems incorporating machine learning techniques, including convolutional neural networks (CNNs), have been proposed for image classification and digital pathology image analysis, such as cell detection and classification. For example, a CNN can have a series of convolutional layers as hidden layers, and this network structure enables the extraction of representational features for object / image classification and digital pathology image analysis. In addition to object / image classification, machine learning techniques have also been implemented for image segmentation. Image segmentation is the process of dividing a digital image into multiple segments (sets of pixels, also known as image objects). The purpose of segmentation is to simplify and / or modify the representation of an image to make it more meaningful and easier to analyze. For example, image segmentation is typically used to find objects such as cells and boundaries (lines, curves, etc.) within an image. To perform image segmentation on large datasets (e.g., full-slide pathology images), the image is first divided into many small patches. A computing system equipped with machine learning techniques is trained to classify each pixel of these patches, and all pixels of the same class are combined into one segmented region of each patch, and then all segmented patches are combined into one segmented image (e.g., a segmented whole slide pathology image). Subsequently, machine learning techniques are further implemented to segment Based on the expression features associated with the segmented regions, the segmented regions (e.g., cells positive for a given biomarker, cells negative for a given biomarker, or cells without staining expression) can be predicted or further classified. [Overview of the project]
[0005] In digital pathology, differences between scanners and laboratories can cause variations in intensity and color within digital images. Furthermore, poor scanning can lead to gradient variations and blurring effects, assay staining can result in staining artifacts such as background washing, and differences in tissue / patient samples can lead to variability in cell size. These variations and disturbances can negatively impact the quality and reliability of deep learning (DL) and artificial intelligence (AI) networks. To address these and other challenges, methods, systems, and computer-readable storage media are disclosed for preprocessing, augmenting, and using synthetic training data to (i) eliminate adversarial exemplary images and (ii) effectively train machine learning models to detect, characterize, and / or classify some or all regions of images that do not contain adversarial exemplary regions.
[0006] In various embodiments, a computer implementation method is provided, comprising: acquiring a training set of images in a data processing system for training a machine learning algorithm to detect, characterize, classify, or perform combinations thereof for some or all regions or objects in an image; augmenting the training set of images with adversarial examples, inputting the training set of images into one or more adversarial algorithms; applying the one or more adversarial algorithms to the training set of images to generate a composite image as an adversarial example, wherein for each image, the one or more adversarial algorithms are configured to generate a composite image having varying levels of one or more adversarial features by fixing the values of one or more variables while changing the values of one or more other variables for one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image; and generating an augmented batch of images including images from the training set of images and composite images from adversarial examples; and training a machine learning algorithm using the batch of augmented images to generate a machine learning model configured to detect, characterize, classify, or perform combinations thereof for some or all regions or objects in a new image.
[0007] In some embodiments, the image training set is a digital pathology image containing one or more types of cells.
[0008] In some embodiments, one or more other variables are intensity, color difference, or both of the pixels in each image, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image.
[0009] In some embodiments, one or more other variables are the degree of smoothing, blurring, opacity, softness, or any combination thereof for each pixel of the image, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image.
[0010] In some embodiments, one or more other variables are scaling factors for resizing each of the images, one or more regions of interest within the images, one or more channels within the images, or one or more fields of view within the images.
[0011] In some embodiments, one or more adversarial algorithms are configured to fix the value of one or more variables while changing the value of one or more of the first variables among one or more other variables for a first channel of one or more channels of an image, and to fix the value of one or more variables while changing the value of one or more of the second variables among one or more other variables for a second channel of one or more channels of an image.
[0012] In some embodiments, one or more adversarial algorithms are configured to fix the value of one or more variables for a first channel of one or more channels of an image while changing the value of one or more other variables, and to fix the value of one or more variables for a second channel of one or more channels of an image while changing the value of one or more other variables.
[0013] In some embodiments, training involves performing iterative operations to learn a set of parameters for detecting, characterizing, classifying, or doing a combination thereof some or all of the regions or objects in a batch of augmented images, each iteration involving finding a set of parameters for a machine learning algorithm such that the value of the cost function using the set of parameters is greater than or less than the value of the cost function using a different set of parameters in the previous iteration, the cost function being constructed to measure the difference between the predictions made for some or all of the regions or objects using the machine learning algorithm and the ground truth labels fed into the batch of augmented images.
[0014] In some embodiments, the method further includes supplying a machine learning model.
[0015] In some embodiments, supplying includes deploying machine learning models to a digital pathology system.
[0016] In various embodiments, a computer implementation method comprises: acquiring a set of digital pathology images containing one or more types of cells by a data processing system; inputting the set of digital pathology images into one or more adversarial algorithms by the data processing system; and applying one or more adversarial algorithms to the set of digital pathology images to generate a composite image, wherein for each image in the set of digital pathology images, the one or more adversarial algorithms fix the value of one or more variables while changing the value of one or more other variables for one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image, thereby generating a composite image having varying levels of one or more adversarial features. A method is provided which includes: evaluating the performance of a machine learning model by a data processing system configured to perform inferences about some or all regions or objects in a set of digital pathology images and composite images; identifying an adversarial threshold level at which the machine learning model can no longer accurately perform inferences based on the evaluation; applying a range of adversarial levels above the threshold level identified as ground truth labels in the training set of images; and training a machine learning algorithm using the training set of images to generate a revised machine learning model configured to identify adversarial regions and exclude them from downstream processing or analysis.
[0017] In some embodiments, the revised machine learning model does not consider the adversarial domain, It is further configured to detect, characterize, classify, or combine several regions or objects within a shelf image.
[0018] In some embodiments, the method further includes: the data processing system receiving a new image; the data processing system determining a range of hostility for the new image; the data processing system comparing the range of hostility to a threshold level of hostility; the data processing system rejecting the new image if the range of hostility for the new image is greater than the threshold level of hostility; and the data processing system inputting the new image into a revised machine learning model if the range of hostility for the new image is less than or equal to the threshold level of hostility.
[0019] In some embodiments, the method further includes augmenting a training set of images with adversarial examples by a data processing system, inputting the training set of images into one or more adversarial algorithms; applying one or more adversarial algorithms to the training set of images to generate a composite image as an adversarial example, wherein for each image, the one or more adversarial algorithms are configured to generate a composite image having varying levels of one or more adversarial features that are below the adversarial threshold level, by fixing the values of one or more other variables while varying the values of one or more other variables in one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image based on an adversarial threshold level; generating a batch of augmented images comprising images from the training set of images and a composite image from adversarial examples; and training a machine learning algorithm with the batch of augmented images by the data processing system to generate a revised machine learning model configured to detect, characterize, classify, or perform combinations thereof for some or all regions or objects in a new image without considering adversarial regions.
[0020] In some embodiments, the image training set is a digital pathology image containing one or more types of cells.
[0021] In some embodiments, one or more other variables are intensity, color difference, or both of the pixels in each image, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image.
[0022] In some embodiments, one or more other variables are the degree of smoothing, blurring, opacity, softness, or any combination thereof for each pixel of the image, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image.
[0023] In some embodiments, one or more other variables are scaling factors for resizing each of the images, one or more regions of interest within the images, one or more channels within the images, or one or more fields of view within the images.
[0024] In some embodiments, one or more adversarial algorithms are configured to fix the value of one or more variables while changing the value of one or more of the first variables among one or more other variables for a first channel of one or more channels of an image, and to fix the value of one or more variables while changing the value of one or more of the second variables among one or more other variables for a second channel of one or more channels of an image.
[0025] In some embodiments, one or more adversarial algorithms are configured to fix the value of one or more variables for a first channel of one or more channels of an image while changing the value of one or more other variables, and to fix the value of one or more variables for a second channel of one or more channels of an image while changing the value of one or more other variables.
[0026] In some embodiments, training includes performing iterative operations to learn a set of parameters for detecting, characterizing, classifying, or combinations thereof, of some or all regions or objects within an enhanced image batch to maximize or minimize a cost function, where each iteration includes finding a set of parameters of a machine learning algorithm such that the value of the cost function using the set of parameters is greater or less than the value of the cost function using another set of parameters in the previous iteration, and the cost function is constructed to measure the difference between predictions made for some or all regions or objects using the machine learning algorithm and the ground truth labels supplied to the enhanced image batch.
[0027] In some embodiments, the method further includes receiving, by a data processing system, a new image, inputting the new image into a machine learning model or a revised machine learning model, detecting, characterizing, classifying, or combinations thereof, some or all regions or objects within the new image by the machine learning model or the revised machine learning model, and outputting, by the machine learning model or the revised machine learning model, an inference based on the detection, characterization, classification, or combinations thereof.
[0028] In some embodiments, a method is provided that includes determining, by a user, a diagnosis of a subject based on results generated by a machine learning model trained using some or all of one or more of the techniques disclosed herein, and potentially selecting, recommending, and / or administering a particular treatment to the subject based on the diagnosis.
[0029] In some embodiments, a method is provided that includes determining, by a user, a treatment for selecting, recommending, and / or administering to a subject based on results generated by a machine learning model trained using some or all of one or more of the techniques disclosed herein.
[0030] [[ID=In some embodiments, methods are provided that include a user determining whether a subject is eligible to participate in a clinical trial or is eligible to be assigned to a particular cohort in a clinical trial, based on results generated by a machine learning model trained using some or all of the techniques disclosed herein.
[0031] In some embodiments, a system is provided that includes one or more data processors and a non-temporary computer-readable storage medium which, when executed on one or more data processors, includes instructions causing one or more data processors to perform some or all of the methods disclosed herein.
[0032] In some embodiments, a computer program product is provided which includes instructions tangibly embodied in a non-temporary machine-readable storage medium and configured to cause one or more data processors to perform some or all of the methods disclosed herein.
[0033] The terms and expressions used are for illustrative purposes only and are not intended to be limiting. The use of such terms and expressions is not intended to exclude any equivalents of the exhibited and described features or any part thereof, but it should be recognized that various modifications are possible within the scope of the claimed invention. Therefore, while the claimed invention is specifically disclosed by embodiments and optional features, modifications and variations of the concepts disclosed herein may be used by those skilled in the art, and such modifications and variations should be understood to be within the scope of the invention as defined by the appended claims. [Brief explanation of the drawing]
[0034] The aspects and features of various embodiments will become clearer by illustrating examples with reference to the attached drawings.
[0035] [Figure 1] This study demonstrates that a convolutional neural network model (CNN-VGG16) in a real-world scenario may misidentify a banana as a toaster when presented with adversarial examples. [Figure 2] This shows human breast tissue samples from two laboratories, collected from the Tumor Growth Assessment Challenge 2016 (TUPAC16) dataset, using various embodiments. [Figure 3A] This demonstrates the variability of intensity and color, blurring effects, and differences in cell size in digital pathology under various embodiments. [Figure 3B] This demonstrates the variability of intensity and color, blurring effects, and differences in cell size in digital pathology under various embodiments. [Figure 3C] This demonstrates the variability of intensity and color, blurring effects, and differences in cell size in digital pathology under various embodiments. [Figure 3D] This demonstrates the variability of intensity and color, blurring effects, and differences in cell size in digital pathology under various embodiments. [Figure 3E] This demonstrates the variability of intensity and color, blurring effects, and differences in cell size in digital pathology under various embodiments. [Figure 3F] This demonstrates the variability of intensity and color, blurring effects, and differences in cell size in digital pathology under various embodiments. [Figure 4] This document describes exemplary networks for generating digital pathological images according to several embodiments. [Figure 5] This document presents exemplary computing environments for processing digital pathology images using machine learning / deep learning models in various embodiments. [Figure 6] This shows the difference in hematoxylin intensity of the same subject caused by different staining protocols from two laboratories using various embodiments. [Figure 7] This demonstrates that the performance of deep learning networks degrades with small changes in intensity across various embodiments. [Figure 8] This shows one real image and seven composite images generated from various embodiments. [Figure 9] This demonstrates improved performance of adversarially trained U-Net models in various configurations of deep learning networks. [Figure 10A] Figures 10A and 10B illustrate the impact of blur artifacts on the performance of deep learning networks in various embodiments of this disclosure. Figure 10A is an exemplary image patch with blur on the left side. The dots represent the classification results of the cell phenotype. Red indicates positively stained cells. Black indicates negatively stained cells. [Figure 10B] Figures 10A and 10B illustrate the impact of blur artifacts on the performance of deep learning networks in various embodiments of the present disclosure. In Figure 10B, an exemplary image patch pathologist flags >70% of the image as analyzable, but the majority of the image is blurred, which can be problematic for deep learning networks such as classification models. [Figure 11A] Figures 11A and 11B show quantitative evaluations of the performance of Ki-67 classification models at various blur levels in various embodiments. Figure 11A is an exemplary image patch with various levels of blur generated by Gaussian kernels with different sigma values. [Figure 11B] Figures 11A and 11B show quantitative evaluations of the performance of Ki-67 classification models at various blur levels in different embodiments. Figure 11B shows the prediction accuracy of the test dataset at various blur levels. The sigma of the Gaussian kernel varies from 0 to 5. [Figure 12A] Figures 12A and 12B show a comparison of the relative change in accuracy on the test dataset between models trained without blur enhancement and models trained with blur enhancement, under various embodiments. Figure 12A shows the relative change in accuracy in the tumor-positive class. [Figure 12B]Figures 12A and 12B show a comparison of the relative change in accuracy on the test dataset between models trained without blur enhancement and models trained with blur enhancement, under various embodiments. Figure 12B shows the relative change in accuracy for the tumor-negative class. Training 0: Model trained without blur enhancement. Training 1.5: Model trained with blur enhancement, where in each epoch, each image was blurred by a Gaussian kernel with a sigma value randomly selected between 0 and 1.5. [Figure 13A] Examples of insufficient classification results due to changes in cell size in images, depending on the embodiment, are shown. [Figure 13B] Examples of insufficient classification results due to changes in cell size in images, depending on the embodiment, are shown. [Figure 14A] This paper presents data-driven arguments using variable cell size experimental protocols in various embodiments. [Figure 14B] This paper presents data-driven arguments using variable cell size experimental protocols in various embodiments. [Figure 14C] This paper presents data-driven arguments using variable cell size experimental protocols in various embodiments. [Figure 15] This flowchart shows the process for training a machine learning algorithm according to various embodiments of this disclosure. [Figure 16] A flowchart illustrating the process for training and using machine learning models according to various embodiments of this disclosure is provided. [Modes for carrying out the invention]
[0036] While specific embodiments are described, these embodiments are presented only as examples and are not intended to limit the scope of protection. The apparatus, methods, and systems described herein may be embodied in various other forms. Furthermore, various omissions, substitutions, and modifications may be made to the exemplary forms of methods and systems described herein without departing from the scope of protection.
[0037] I. Overview Machine learning models, including those composed of deep learning and artificial intelligence networks, can make mistakes when attempting to detect, characterize, and / or classify some or all of digital pathology images. In particular, machine learning models are broadly vulnerable to adversarial machine learning. Adversarial machine learning is a machine learning technique that intentionally or unintentionally deceives a machine learning model by providing deceptive inputs known as adversarial examples. For example, when a photograph of a table with a banana and a notebook (the top photograph shown in Figure 1) passes through a convolutional neural network model such as VGG16, the network reports the class "banana" with 97% confidence (top plot). However, if a sticker targeting the class "toaster" is applied... If placed on a table (see photo below), the photo is classified as a toaster with 99% confidence (see plot below, Figure 1). The sticker is a perceptible disturbance in the image that causes VGG16 to misclassify the object in the image with high confidence. This is a perceptible adversarial example, but it should be understood that there are also non-perceptible adversarial examples that can cause similar misclassification. The existence of perceptible (or non-perceptible) adversarial examples illustrates the limited generalization ability of VGG16.
[0038] In digital pathology, in addition to the adversarial disturbances mentioned above, domain-specific disturbances and variability from tissue collection, tissue slide preparation, and digital image acquisition and processing can act unintentionally or intentionally as adversarial examples that trigger adversarial machine learning. Disturbances and variability can include differences in intensity and color variability caused by inter-scanner and inter-laboratory variability (e.g., hardware and / or software differences can cause variability in digital image acquisition between scanners, while environmental and / or protocol differences can cause variability in slide preparation across different clinical / research laboratories). Figure 2 shows two different images captured by two scanners from different laboratories. Differences in color and intensity are due to differences in tissue treatment, such as chemical staining concentrations or staining protocols. Figures 3A and 3B show variations in intensity due to staining protocol variability and color differences (scanned raw data and corrected image displayed on monitor). Figures 3E and 3F show that, due to variations in intensity, the deep learning network misidentified a large number of ER and PR-positive cases as negative (ER-positive: breast cancer with estrogen receptors is called ER-positive (or ER+) cancer; PR-positive: breast cancer with progesterone receptors is called PR-positive (or PR+) cancer).
[0039] Disturbance and variability can further include gradient changes and blurring effects (shown in Figure 3C) caused by poor scanning quality. These gradient changes and blurring effects can impair the performance of machine learning, deep learning, and artificial intelligence networks (e.g., inability to identify or detect positive cells).
[0040] Disorder and variability may further include assay staining artifacts (e.g., background washing) and variability in cell size (e.g., different tissues / patients may exhibit different cell sizes, such as different tumor cell sizes). Figure 3D shows enlarged cells with the ki67 marker. When cell size is enlarged, machine learning, deep learning, and artificial intelligence networks may misdetect cells. In addition, cell type can also affect cell size. For example, in tumor cells, one of the characteristics of cancer is pleomorphism, i.e., variation in cell size and shape. Within a single tumor, individual cells can vary greatly in size and shape. Between different tumors, there can also be a very wide range of size differences due to differences in tumor type and tumor grade. Some tumors have even been named according to their appearance, for example, "small cell carcinoma" versus "large cell anaplastic carcinoma," or "giant cell tumor" which can have enormous cells. Thus, cell size varies within a tumor in one patient and between different patients. In the case of normal cells, there should be far less variation in cell size between normal cells of the same type and stage; for example, peripheral B lymphocytes should be fairly uniform in shape within and between patients, especially in vivo.
[0041] However, in histological preparations, several variations can be introduced by tissue processing. For example, fixation can cause cell shrinkage. Different staining steps, such as hematoxylin and eosin (H&E), immunohistochemistry (IHC), and in situ hybridization (ISH), can also introduce variations in the final stained image. H&E staining usually preserves tissue morphology well, while IHC staining involves additional steps such as cell conditioning and protease treatment, which can alter tissue morphology. ISH alters cell morphology. Of the many cell conditioning, heating, and protease treatments that can cause significant alterations, ISH is the most invasive. In ISH, normal lymphocytes often appear enlarged and dysmorphic. These disturbances and variability can negatively impact the quality and reliability of machine learning, deep learning, and artificial intelligence networks. Therefore, it is crucial to address these challenges and improve the performance of deep learning and artificial intelligence networks.
[0042] To address these and other challenges, various embodiments disclosed herein relate to methods, systems, and computer-readable storage media for preprocessing, augmenting, and using synthetic training data in order to (i) eliminate adversarial exemplary images and (ii) effectively train a machine learning model to detect, characterize, and / or classify some or all regions of an accepted image that does not contain adversarial exemplary regions. In particular, various embodiments leverage synthetically generated adversarial examples to improve the robustness of machine learning models. Synthetically generated adversarial examples are leveraged in two processes. (i) Augment the training data to include examples of “real” images that have adversarial image examples (synthetic images with artificially created disturbance or variability), and train a machine learning model with the augmented training data; (ii) Label the training data based on adversarial exemplary experiments, and train a machine learning model with the training data to identify images or regions (e.g., classifications) that contain disturbance or variability that negatively impact the model’s inference / predictive ability, and either completely reject the images as adversarial examples or exclude the adversarial regions from downstream analyses (e.g., segment, classify, and mask as regions not considered in subsequent analyses). These processes can be performed individually or in combination to improve the robustness of the machine learning model. Furthermore, these processes can be performed individually or in combination for a single type of disturbance or variability (e.g., intensity), or for a combination of types of disturbance and variability (e.g., intensity and blur).
[0043] In one descriptive embodiment, a computer implementation process is provided, which includes: acquiring a training set of images in a data processing system for training a machine learning algorithm to detect, characterize, classify, or perform combinations thereof for some or all regions or objects in an image; augmenting the training set of images with adversarial examples, which includes inputting the training set of images into one or more adversarial algorithms; applying the adversarial algorithms to the training set of images to generate a composite image as an adversarial example, which includes, for each image, fixing the values of one or more variables while changing the values of one or more other variables for one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image, to generate a composite image having varying levels of one or more adversarial features; and generating an augmented batch of images including images from the training set of images and composite images from adversarial examples; and training a machine learning algorithm using the batch of augmented images to generate a machine learning model configured to detect, characterize, classify, or perform combinations thereof for some or all regions or objects in a new image.
[0044] In another descriptive embodiment, a computer implementation process comprising: acquiring a set of digital pathology images containing one or more types of cells by a data processing system; inputting the set of digital pathology images into one or more adversarial algorithms by the data processing system; and applying one or more adversarial algorithms to the set of digital pathology images to generate a composite image, wherein for each of the images, one or more regions of interest in the image, one or more channels in the image, or one or more views in the image A process is provided which includes: applying a data processing system configured to generate a composite image having varying levels of one or more adversarial features by fixing the values of one or more variables while changing the values of one or more other variables; evaluating the performance of a machine learning model to make inferences about a set of digital pathology images and some or all of the regions or objects in the composite image; identifying an adversarial threshold level at which the machine learning model can no longer make accurate inferences based on the evaluation; applying a range of adversarial levels above the threshold level identified as ground truth labels in the training set of images; and training a machine learning algorithm using the training set of images to generate a revised machine learning model configured to identify adversarial regions and exclude them from downstream processing or analysis.
[0045] Advantageously, the various techniques described herein can improve the robustness of machine learning models (for example, improving the accuracy of cell classification).
[0046] II. Definition As used herein, when an act is “based on” something, this means that the act is at least partially based on at least a part of something.
[0047] As used herein, the terms “substantially,” “approximately,” and “about” are defined as largely specified but not necessarily fully specified (and fully specified) as understood by those skilled in the art. In any disclosed embodiment, the terms “substantially,” “approximately,” or “about” may be replaced by “within [percentage]” of the specified, the percentages including 0.1, 1, 5, and 10%.
[0048] As used herein, the terms “sample,” “biological sample,” “tissue,” or “tissue sample” refer to any sample containing biomolecules (such as proteins, peptides, nucleic acids, lipids, carbohydrates, or combinations thereof) obtained from any organism, including viruses. Other examples of organisms include mammals (veterinary animals such as humans, cats, dogs, horses, cattle, and pigs, as well as laboratory animals such as mice, rats, and primates), insects, annelids, spiders, marsupials, reptiles, amphibians, bacteria, and fungi. Biological samples include tissue samples (such as tissue sections and needle biopsies), cell samples (such as cytological smears, like Pap smears or blood smears, or cell samples obtained by microdissection), or cell fractions, fragments, or organelles (such as those obtained by lysing cells and separating their components by centrifugation). Other examples of biological samples include blood, serum, urine, semen, feces, cerebrospinal fluid, interstitial fluid, mucus, tears, sweat, pus, biopsy tissue (e.g., obtained by surgical biopsy or needle biopsy), nipple aspirate, earwax, milk, vaginal fluid, saliva, swabs (such as oral swabs), or any material containing biomolecules derived from the initial biological sample. In certain embodiments, the term “biological sample” as used herein refers to a sample (such as a homogenized or liquefied sample) prepared from a tumor or a portion thereof obtained from the subject.
[0049] As used herein, the terms “biological material,” “biological structure,” or “cellular structure” refer to natural materials or structures that include all or part of a biological structure (e.g., cell nucleus, cell membrane, cytoplasm, chromosomes, DNA, cell, cell mass, etc.).
[0050] As used herein, “digital pathology image” refers to a digital image of a stained specimen.
[0051] As used herein, the term “cell detection” refers to the detection of the location and characteristics of a cell or cellular structure (e.g., cell nucleus, cell membrane, cytoplasm, chromosomes, DNA, cell, cell aggregate, etc.) pixel.
[0052] As used herein, the term “target region” refers to a region of an image containing image data intended to be evaluated in an image analysis process. The target region includes any region of an image, such as a tissue region, that is intended to be analyzed in an image analysis process (e.g., tumor cells or staining expression).
[0053] As used herein, the terms “tile” or “tiled image” refer to a single image corresponding to a portion of an entire image or an entire slide. In some embodiments, “tile” or “tiled image” refers to an area of a full slide scan or a region of interest having (x,y) pixel dimensions (e.g., 1000 pixels × 1000 pixels). For example, consider an entire image divided into M columns of tiles and N rows of tiles, where each tile in the M × N mosaic contains a portion of the entire image, i.e., position M I , N I The tile at position M1, N2 contains a first portion of the image, and the tile at position M1, N2 contains a second portion of the image, distinct from the first and second portions. In some embodiments, each tile may have the same dimensions (pixel size × pixel size). In some examples, the tiles partially overlap and can represent overlapping areas of the entire slide scan or the region of interest.
[0054] As used herein, the terms “patch,” “image patch,” or “mask patch” refer to a container of pixels corresponding to an entire image, an entire slide, or a portion of an entire mask. In some embodiments, a “patch,” “image patch,” or “mask patch” refers to an area of an image or mask, or a region of interest having (x,y) pixel dimensions (e.g., 256 pixels × 256 pixels). For example, a 1000-pixel × 1000-pixel image divided into 100-pixel × 100-pixel patches would contain 10 patches (each patch containing 1000 pixels). In other embodiments, a patch has (x,y) pixel dimensions and overlaps with each other, sharing one or more pixels with another “patch,” “image patch,” or “mask patch.”
[0055] III. Generation of Digital Pathological Images Digital pathology involves the interpretation of digitized images to accurately diagnose subjects and guide therapeutic decisions. Digital pathology solutions establish image analysis workflows that can automatically detect or classify biological objects of interest, such as positive and negative tumor cells. An exemplary digital pathology solution workflow includes acquiring tissue slides, scanning pre-selected areas or the entirety of the tissue slides with a digital image scanner (e.g., a whole-slide image (WSI) scanner) to acquire digital images, performing image analysis on the digital images using one or more image analysis algorithms, and potentially detecting and quantifying each object of interest based on the image analysis (e.g., quantitative or semi-quantitative scoring such as positive, negative, moderate, weak, etc.) (e.g., counting or identifying object-specific or cumulative areas for each object of interest).
[0056] Figure 4 shows an exemplary network 400 for generating digital pathology images. The fixation / embedding system 405 fixes and / or embeds tissue samples (e.g., samples containing at least a portion of at least one tumor) using a fixative (e.g., a liquid fixative such as a formaldehyde solution) and / or embedding material (e.g., a histological wax such as paraffin wax and / or one or more resins such as styrene or polyethylene). Each sample is exposed to the fixative for a predetermined period (e.g., at least 3 hours), and then... The sample can be fixed by dehydration (e.g., by exposure to an ethanol solution and / or a clearing intermediate). The embedding material can be impregnated when the sample is in a liquid state (e.g., during heating).
[0057] Fixation and / or embedding of specimens are used to preserve specimens and slow their degradation. In histology, fixation generally refers to an irreversible process that uses chemicals to preserve chemical composition, maintain the natural structure of a specimen, and keep cellular structures from degradation. Fixation may also harden cells or tissues for sectioning. Fixatives may enhance the preservation of specimens and cells by using cross-linking proteins. Fixatives may bind to and cross-link some proteins, and denature other proteins by dehydration, which can harden tissues and inactivate enzymes that would normally degrade specimens. Fixatives may also kill bacteria.
[0058] Fixatives can be administered, for example, by perfusion and immersion of the prepared sample. Various fixatives can be used, including methanol, Buin fixatives and / or formaldehyde fixatives, such as neutral buffered formalin (NBF) or paraffin-formalin (paraformaldehyde-PFA). If the sample is a liquid sample (e.g., a blood sample), the sample may be smeared onto a slide and dried before fixation. While the fixation process can help preserve the structure of the sample and cells for histological examination, fixation can mask tissue antigens, thereby reducing antigen detection. Therefore, since formalin can crosslink antigens and mask epitopes, fixation is generally considered a limiting factor in immunohistochemistry. In some cases, additional processes are performed to reverse the crosslinking effect, including treating the fixed sample with anhydrous citraconic acid (a reversible protein crosslinking agent) and heating.
[0059] Embedding may involve impregnating a specimen (e.g., a fixed tissue specimen) with a suitable histological wax, such as paraffin wax. Histological waxes may be insoluble in water or alcohol, but soluble in paraffin solvents such as xylene. Therefore, it may be necessary to replace the water in the tissue with xylene. To do this, the specimen may be dehydrated by first gradually replacing the water in the specimen with alcohol, which can be achieved by passing the tissue through ethyl alcohol of increasing concentration (e.g., 0 to about 100%). After replacing the water with alcohol, the alcohol may be replaced with xylene, which is miscible with alcohol. Since histological wax may be soluble in xylene, the molten wax can be filled with xylene, filling the spaces that were previously filled with water. The wax-filled specimen may be cooled to form a hardened block, which can then be clamped in a microtome, vibratome, or compressstorm to cut sections. In some cases, deviation from the exemplary procedure described above may result in paraffin wax impregnation, which may inhibit the penetration of antibodies, chemicals, or other fixatives.
[0060] Next, a tissue slicer 410 may be used to section the fixed and / or embedded tissue sample (e.g., a tumor sample). Sectioning is the process of cutting thin slices of the sample (e.g., 4-5 μm thick) from a tissue block for the purpose of mounting the tissue block onto a microscope slide for examination. Sectioning may be performed using a microtome, vibratome, or compressstorm. In some cases, the tissue can be rapidly frozen in dry ice or isopentane and then cut with a cold knife in a refrigerated cabinet (e.g., a cryostat). Other types of coolants, such as liquid nitrogen, can be used to freeze the tissue. Sections for use in bright-field and fluorescence microscopy are generally about 4-10 μm thick. In some cases, the sections can be embedded in epoxy or acrylic resin, which may allow for the cutting of thinner sections (e.g., <2 μm). These sections are then... It may be mounted on one or more glass slides. A coverslip may be placed on top to protect the sample section.
[0061] Since tissue sections and the cells within them are substantially transparent, slide preparation typically further involves staining the tissue sections (e.g., auto-staining) to make the relevant structures more visible. In some examples, staining is performed manually. In some examples, staining is performed semi-automatically or automatically using staining system 415. The staining process involves exposing sections of tissue or liquid-fixed samples to one or more different stains (e.g., sequentially or simultaneously) to express different characteristics of the tissue.
[0062] For example, staining can be used to mark specific types of cells and / or flag specific types of nucleic acids and / or proteins to aid in microscopic examination. The staining process generally involves adding a dye or stain to a sample to confirm or quantify the presence of specific compounds, structures, molecules, or features (e.g., intracellular features). For example, staining can help identify or highlight specific biomarkers from tissue sections. In other examples, staining can be used to identify or highlight biological tissues (e.g., muscle fibers or connective tissue), cell populations (e.g., different blood cells), or organelles within individual cells.
[0063] One exemplary type of histochemical staining is histochemical staining, which uses one or more chemical dyes (e.g., acid dyes, basic dyes, chromogenic dyes) to stain tissue structures. Histochemical staining may be used to show general aspects of tissue morphology and / or the microanatomical structure of cells (e.g., to distinguish the cell nucleus from the cytoplasm, to show lipid droplets, etc.). An example of histochemical staining is H&E. Other examples of histochemical staining include tricolor staining (e.g., Masson's tricolor), periodate Schiff (PAS), silver staining, and iron staining. The molecular weight of histochemical staining reagents (e.g., dyes) is typically about 500 kilodaltons (kD) or less, but some histochemical staining reagents (e.g., Alcian blue, phosphomolybdic acid (PMA)) can have molecular weights up to 2,000 or 3,000 kD. An example of a high molecular weight histochemical staining reagent is α-amylase (about 55 kD), which is sometimes used to show glycogen.
[0064] Another type of tissue staining is IHC, also known as "immunostaining," which uses a primary antibody that specifically binds to a target antigen of interest (also called a biomarker). IHC can be direct or indirect. In direct IHC, the primary antibody is directly conjugated to a label (e.g., a chromophore or fluorophore). In indirect IHC, the primary antibody first binds to the target antigen, and then a secondary antibody conjugated with a label (e.g., a chromophore or fluorophore) binds to the primary antibody. The molecular weight of IHC reagents is much higher than that of histochemical staining reagents, as antibodies have a molecular weight of approximately 150 kD or more.
[0065] Various types of staining protocols may be used to perform staining. For example, an exemplary IHC staining protocol involves using a hydrophobic barrier line around the sample (e.g., tissue section) to prevent reagent leakage from the slide during incubation; treating the tissue section with reagents to block endogenous sources of nonspecific staining (e.g., enzymes, free aldehyde groups, immunoglobulins, other irrelevant molecules that can mimic specific staining); incubating the sample with permeabilization buffer to facilitate the penetration of antibodies and other staining reagents into the tissue; incubating the tissue section with primary antibody at a specific temperature (e.g., room temperature, 6-8°C) for a certain period (e.g., 1-24 hours); rinsing the sample with wash buffer; then incubating the sample (tissue section) with secondary antibody at another specific temperature (e.g., room temperature) for another period; rinsing the sample again with water buffer; and incubating the rinsed sample with a chromogen (e.g., DAB: 3,3'-diaminobenzidine). This involves staining and washing away the chromogen to stop the reaction. In some cases, counterstaining is then used to identify the entire "landscape" of the sample and to serve as the primary color reference used for detecting tissue targets. Counterstains may include, for example, hematoxylin (a blue to purple stain), methylene blue (a blue stain), toluidine blue (a stain that makes nuclei deep blue and polysaccharides pink to red), nuclear fast red (also known as Kern-Echtroth dye, a red stain), methyl green (a green stain), and non-nuclear chromogenic stains, such as eosin (a pink stain). Those skilled in the art will recognize that staining can be performed by carrying out other immunohistochemical staining techniques.
[0066] In another example, the H&E staining protocol can be performed for tissue section staining. The H&E staining protocol involves applying a hematoxylin stain mixed with a metal salt or mordant to the sample. The sample can then be rinsed with a weak acid solution to remove excess staining (differentiation), followed by shading in weak alkaline water. After the application of hematoxylin, the sample can be counterstained with eosin. It will be understood that other H&E staining techniques can be performed.
[0067] In some embodiments, staining can be performed using various types of stains depending on which features are of interest. For example, DAB can be used for various tissue sections for IHC staining, and DAB yields a brown color that displays the features of interest in the stained image. In another example, alkaline phosphatase (AP) may be used for skin tissue sections for IHC staining because the DAB color may be masked by melanin pigment. With respect to primary staining techniques, applicable stains may include, for example, basophilic and eosinophilic stains, hematin and hematoxylin, silver nitrate, tricolor stains, etc. Acidic dyes may react with cationic or basic components in tissue or cells, such as proteins and other components in the cytoplasm. Basic dyes may react with anionic or acidic components in tissue or cells, such as nucleic acids. As mentioned above, an example of a staining system is H&E. Eosin may be a negatively charged pink acidic dye, and hematoxylin may be a purple or blue basic dye containing hematine and aluminum ions. Other examples of staining may include periodic acid-Schiff staining (PAS), Masson's tricolor, Alcian blue, fungusson, and reticuline staining. In some embodiments, different types of stains may be used in combination.
[0068] Next, the section can be mounted on a corresponding slide, and the imaging system 420 can then scan or image to generate raw digital pathological images 425a-n. To magnify the stained sample, a microscope (e.g., an electron microscope or an optical microscope) can be used. For example, an optical microscope may have a resolution of less than 1 μm, such as about several hundred nanometers. To observe finer details in the nanometer or sub-nanometer range, an electron microscope may be used. An imaging device (combined with or separate from the microscope) images the magnified biological sample to acquire image data such as a multichannel image (e.g., multichannel fluorescence) having several channels (e.g., 10-16 channels). The imaging device may include, but is not limited to, a camera (e.g., an analog camera, a digital camera, etc.), optical elements (e.g., one or more lenses, a sensor focus lens group, a microscope objective lens, etc.), an imaging sensor (e.g., a charge-coupled device (CCD), a complementary metal-oxide-semiconductor (CMOS) image sensor, etc.), photographic film, etc. In digital embodiments, the imaging device may include multiple lenses that cooperate to ensure on-the-fly focusing. An image sensor, such as a CCD sensor, can capture a digital image of a biological sample. In some embodiments, the imaging device is a bright-field imaging system, a multispectral imaging (MSI) system, or a fluorescence microscope system. The imaging device may utilize invisible electromagnetic radiation (e.g., UV light) or other imaging techniques to acquire images. For example, the imaging device may be a microscope and a microscope. The system may also include a camera configured to capture an image magnified by a mirror. The image data received by the analysis system may be identical to, and / or derived from, the raw image data captured by the imaging device.
[0069] Images of the stained sections may then be stored in a storage device 425, such as a server. Images may be stored on local, remote, and / or cloud servers. Each image may be stored associated with a subject identifier and date (e.g., the date the sample was collected and / or the date the image was taken). Images may further be transmitted to another system (e.g., a system associated with a pathologist, an automated or semi-automated image analysis system, or a machine learning training and deployment system, as will be described in more detail herein).
[0070] It will be understood that modifications to the process described for network 400 are intended. For example, if the sample is a liquid sample, embedding and / or sectioning may be omitted from the process.
[0071] IV. Exemplary Systems for Digital Pathology Image Conversion Figure 5 shows a block diagram illustrating a computing environment 500 for processing digital pathology images using a machine learning model. As will be further described herein, processing digital pathology images may include training a machine learning algorithm using digital pathology images and / or transforming some or all of the digital pathology images into one or more results using a trained (or partially trained) version of the machine learning algorithm (i.e., a machine learning model).
[0072] As shown in Figure 5, the computing environment 500 includes several stages, namely an image storage stage 505, a preprocessing stage 510, a labeling stage 515, a data augmentation stage 517, a training stage 520, and a result generation stage 525.
[0073] The image storage step 505 includes one or more image data stores 530 (e.g., the storage device 430 described in relation to Figure 4) that are accessed (e.g., by the pre-processing step 510) to provide a set of digital images 535 of a pre-selected region from a biological sample slide (e.g., a tissue slide) or of the entire biological sample slide. Each digital image 535 stored in each image data store 530 and accessed in the image storage step 510 may include a digital pathology image generated according to some or all of the processes described with respect to the network 400 shown in Figure 4. In some embodiments, each digital image 535 includes image data from one or more scanned slides. Each digital image 535 may correspond to image data from a single specimen and / or image data from a single day on which the underlying image data corresponding to the image was collected.
[0074] Image data may include the image, as well as any information relating to the color channel or color wavelength channel, and details relating to the imaging platform on which the image was generated. For example, tissue sections may need to be stained by applying a staining assay that includes one or more different biomarkers associated with a chromogenic stain for bright-field imaging or a phosphor for fluorescence imaging. The staining assay can use a chromogenic stain for bright-field imaging, an organic phosphor for fluorescence imaging, a quantum dot, or a combination of organic phosphors and quantum dots, or any other combination of stain, biomarker, and observation or imaging device. Exemplary biomarkers include estrogen receptor (ER), human epidermal growth factor receptor 2 (HER2), human Ki-67 protein, progesterone receptor (PR), and programmed cell death protein 1 (PD1), and tissue sections are detectedly labeled with their respective binding factors (e.g., antibodies) for ER, HER2, Ki-67, PR, PD1, etc. In some embodiments, classification, scoring, Cox modeling, and risk are used. Digital image and data analysis operations, such as stratification, depend on the type of biomarker used, as well as the selection and annotation of the field of view (FOV). Furthermore, typical tissue sections are processed on an automated staining / assay platform to apply a staining assay to the tissue sections, resulting in stained samples. Various commercially available products suitable for use as staining / assay platforms exist on the market, one example being the VENTANA® SYMPHONY® product from the acquirer, Ventana Medical Systems, Inc. Stained tissue sections can be fed into an imaging system, for example, a microscope or a whole-slide scanner with a microscope and / or imaging component, one example being the VENTANA® iScan Coreo® / VENTANA® DP200 product from the acquirer, Ventana Medical Systems, Inc. Multiple tissue slides can be scanned on equivalent multiple-slide scanner systems. Additional information provided by the imaging system may include the concentration of chemicals used for staining, the reaction time of chemicals applied to the tissue during staining, and / or any information regarding the staining platform, including pre-analysis conditions of the tissue such as the age of the tissue, fixation method, duration, section embedding method, and cutting method.
[0075] In the preprocessing step 510, each of one, more, or all of the set of digital images 535 is preprocessed using one or more techniques to produce a corresponding preprocessed image 540. Preprocessing may include cropping the image. In some examples, preprocessing may further include standardization or rescaling (e.g., normalization) to make all features the same scale (e.g., the same size scale or the same color scale or saturation scale). In certain cases, the image is resized to have a minimum size (width or height) of a predetermined number of pixels (e.g., 2500 pixels) or a maximum size (width or height) of a predetermined number of pixels (e.g., 3000 pixels), optionally maintaining the original aspect ratio. Preprocessing may further include denoising. For example, the image may be smoothed by applying a Gaussian function or Gaussian blur to remove unwanted noise.
[0076] The preprocessed images 540 may include one or more training images, validation input images, and unlabeled images. It should be understood that the preprocessed images 540 corresponding to the training group, validation group, and unlabeled group do not need to be accessed simultaneously. For example, the initial set of training and validation preprocessed images 540 may be accessed and used first to train the machine learning algorithm 555, and then the unlabeled input images may be accessed or received (e.g., once or multiple times thereafter) and used by the trained machine learning model 560 to provide the desired output (e.g., cell classification).
[0077] In some examples, the machine learning algorithm 555 is trained using supervised training, and some or all of the preprocessed images 540 are partially or fully labeled manually, semi-automatically, or automatically at the labeling stage 515 with labels 545 that identify the "correct" interpretation (i.e., "ground truth") of various biological substances and structures within the preprocessed images 540. For example, the labels 545 may identify features of interest (e.g.), cell classification, a binary representation of whether a given cell is of a particular type, a binary representation of whether the preprocessed image 540 (or a particular region having the preprocessed image 540) contains a particular type of representation (e.g., necrosis or artifact), a categorical feature of slide-level or region-specific representation (e.g., identifying a particular type of cell), a number (e.g., identifying the amount of a particular type of cell in a region, the amount of represented artifact, or the amount of necrotic area), the presence or absence of one or more biomarkers, etc. In some examples, the labels 545 include location. For example, label 545 may identify the nucleus location of a particular type of cell, or the nucleus location of a particular type of cell (e.g., raw dot label). Another example is label 545 being used to identify boundaries such as those of a drawn tumor, blood vessels, or necrotic area. This may include: As another example, label 545 may include one or more biomarkers identified based on the pattern of biomarkers observed using one or more stains. For example, a tissue slide stained for a biomarker, e.g., programmed cell death protein 1 ("PD1"), may be observed and / or processed to label cells as either positive or negative cells, taking into account the expression level and pattern of PD1 in the tissue. Depending on the features of interest, a given labeled preprocessed image 540 may be associated with a single label 545 or multiple labels 545. In the latter case, each label 545 may be associated with (e.g.) instructions regarding the location or portion in the preprocessed image 545 to which the label corresponds.
[0078] The labels 545 assigned in the labeling stage 515 may be identified based on input from a human user (e.g., a pathologist or image scientist) and / or an algorithm configured to define the labels 545 (e.g., an annotation tool). In some examples, the labeling stage 515 may include sending and / or presenting some or all of one or more preprocessed images 540 to a computing device operated by the user. In some examples, the labeling stage 515 may include utilizing an interface presented by the labeling controller 550 on the computing device operated by the user (e.g., using an API), the interface including an input component for accepting input to identify labels 545 for features of interest. For example, a user interface that allows selection of images or regions of images (e.g., FOV) for labeling may be presented by the labeling controller 550. A user operating the terminal may use the user interface to select images or FOVs. Several image or FOV selection mechanisms may be provided, such as specifying known or irregular shapes or defining regions of anatomical interest (e.g., tumor regions). In one example, the image or FOV is the entire tumor region selected on an IHC slide stained with a combination of H&E staining. The selection of the image or FOV can be performed by the user or by an automated image analysis algorithm, such as tumor region segmentation of H&E tissue slides. For example, the user can select the image or FOV as the entire slide or the entire tumor, or the entire slide or the entire tumor region may be automatically designated as the image or FOV using a segmentation algorithm. The user operating the terminal can then select one or more labels 545 to apply to the selected image or FOV, such as point locations on cells, positive markers for biomarkers expressed by cells, negative biomarkers for biomarkers not expressed by cells, and boundaries around cells.
[0079] In some examples, the interface may identify which particular label 545 is requested and / or to what extent, which may be communicated to the user via (e.g.) text instructions and / or visualizations. For example, a specific color, size, and / or symbol may indicate that a label 545 is requested for a particular representation in an image (e.g., a specific cell or region or staining pattern) in relation to other representations. If labels 545 are requested for multiple representations, the interface may identify each representation simultaneously, or it may identify each representation sequentially (such that providing a label for one identified representation triggers the identification of the next representation for labeling). In some examples, each image is presented until the user identifies a certain number of (e.g., a particular type) labels 545. For example, a given entire slide image or a given patch of an entire slide image may be presented until the user identifies the presence or absence of three different biomarkers, at which point the interface may present images of different entire slide images or different patches (e.g., until a threshold number of images or patches are labeled). Therefore, in some examples, the interface is configured to request and / or accept labels for an incomplete subset of the features of interest, and the user potentially has many tables. It is possible to determine which of the indicators will be labeled.
[0080] In some examples, the labeling stage 515 includes a labeling controller 550 that implements an annotation algorithm to semi-automatically or automatically label various features of an image or region of interest within an image. The labeling controller 550 annotates the image or FOV on a first slide and maps the annotations across the rest of the slide, according to user input or an annotation algorithm. Depending on the defined FOV, several methods for annotation and alignment are possible. For example, an entire tumor region annotated on an H&E slide from a series of consecutive slides may be automatically selected or by the user on an interface such as VIRTUOSO / VERSO®. Since the other tissue slides correspond to consecutive sections from the same tissue block, the labeling controller 550 performs inter-marker alignment operations to map the entire tumor annotation from the H&E slide and transfer it to each of the remaining IHC slides in the series. Exemplary methods for aligning markers are described in more detail in International Publication No. 2014140070, “Whole slide image registration and cross-image annotation devices, systems and methods,” filed by the same applicant on March 12, 2014, which is incorporated herein by reference in its entirety for all purposes. In some embodiments, any other methods for image registration and generation of whole-tumor annotations may be used. For example, a qualified radiologist, such as a pathologist, may annotate whole-tumor regions on any other IHC slide and run the labeling controller 550 to map the whole-tumor annotations on other digitized slides. For example, a pathologist (or an automated detection algorithm) may annotate whole-tumor regions on an H&E slide to trigger an analysis of all adjacent serially sectioned IHC slides to determine a whole-slide tumor score for the annotated regions on all slides.
[0081] In some examples, the labeling stage 515 further includes an adversarial labeling controller 551 that implements annotation algorithms to semi-automatically or automatically identify and label various adversarial features of an image or region of interest within an image. The adversarial labeling controller 550 identifies the level of adversarial degree at which the machine learning model can no longer accurately infer and determines how to set ground truth labels for adversarial features in an unbiased manner. More specifically, the augmentation controller 554 takes one or more original images as input (e.g., images from a training set of images of pre-processed image 540) and generates a composite image 552 with various levels of adversarial features, such as out-of-focus artifacts, as will be described in more detail herein. The adversarial labeling controller 550 then evaluates the performance of the machine learning model using the original and composite images. To evaluate the machine learning model, the adversarial labeling controller 550 quantitatively assesses the change in the machine learning model's performance at various levels of adversarial features, identifies the adversarial threshold level at which the machine learning model can no longer infer accurately (e.g., performance degradation beyond a given acceptable range), and then applies the range of adversarial features above the identified threshold level (e.g., blur) as ground truth labels to the training image set to train the machine learning model, identify adversarial regions, and exclude these regions from downstream processing / analysis.
[0082] Additionally or alternatively, the adversarial labeling controller 550 may use the adversarial threshold level as a filter to completely reject images with adversarial levels above the threshold level (e.g., blurred) (e.g., training, validation, unlabeled, etc., from preprocessed images 540) before using the images for training and / or generating results. Additionally or alternatively, to build a machine learning model robust to low to medium levels of adversarial levels below the threshold level, the machine learning model may include features unrelated to adversarial features. Adversarial robustness training strategies can be implemented to train discriminative image features. Specifically, data augmentation techniques can be implemented for model training, which include generating and incorporating synthetic images with varying degrees of adversarial inequality from low to medium into the training image set used to train the machine learning model. It should be understood that threshold levels may change over time as the machine learning model learns to better interpret adversarial images, and therefore threshold levels can be updated using evaluation methods similar to those described herein.
[0083] In augmentation stage 517, the training set of labeled and unlabeled images (original images) from preprocessed images 540 is augmented with synthetic images 552 generated using augmentation controls 554 that run one or more augmentation algorithms. Augmentation techniques are used to artificially increase the quantity and / or type of training data by adding slightly modified synthetic copies of existing training data or newly created synthetic data from existing training data. As described herein, differences between scanners and laboratories can cause variability in intensity and color within digital images. Furthermore, poor scanning can result in gradient variations and blurring effects, assay staining can introduce staining artifacts such as background washes, and different tissue / patient samples can lead to variability in cell size. These variability and disturbances can negatively impact the quality and reliability of deep learning and artificial intelligence networks. The augmentation techniques performed in augmentation stage 517 act as regularizers for these variability and disturbances, helping to reduce overfitting when training machine learning models. It should be understood that the augmentation techniques described herein can be used as regularizers for any number and type of variation and disturbance, and are not limited to the various specific examples described herein.
[0084] Variability of intensity and color Previous studies have recognized that different laboratory staining protocols for biomarkers (e.g., amphiregulin (AREG) / epilegulin (EREG) markers) are not identical, and that differences in protocols can cause variations in the intensity and color of samples and their digital images (e.g., hematoxylin (HTX) intensity). Figure 6 shows an example of EREG using different staining protocols that resulted in significant differences in HTX intensity. These variations and disturbances in intensity and color caused problems for downstream machine learning models developed to analyze and classify markers based on sample staining, especially when the machine learning models were trained on images developed from a single protocol. Furthermore, it was recognized that scan quality or differences in scans between scanners (e.g., between VENTANA® iScanHT® and VENTANA® DP200) are not identical, and differences in scanners can also cause variations in intensity and color. Therefore, a machine learning model developed to analyze images scanned from one type of scanner may not work for analyzing images scanned from another type of scanner. This results in the need to redevelop the entire machine learning model using images from other types of scanners, which is expensive and time-consuming.
[0085] Figure 7 shows that the performance of the machine learning model deteriorates due to small variations in intensity. On the left, all ER-positive cells were correctly detected by the machine learning model (marked with red dots), but as seen on the right, the variation in intensity was only 10-20%, and the machine learning model was unable to identify some of the ER-positive cells. The conventional solution to this challenge is to collect data that is diverse enough to include as much variation as possible, for example, by using federated learning to collect data from various sources to improve the quality and robustness of the machine learning model. However, it is impractical to acquire all the image data from different scanners and laboratories necessary to train and improve the quality and robustness of the machine learning model. Different companies and laboratories may have different optimal hyperparameters and models, and compromising on models to prioritize specific data sources will ultimately impact the quality and robustness of machine learning models against unseen data variability.
[0086] To overcome these and other challenges, techniques for generating synthetic images 552 and performing training data augmentation before and / or during training are disclosed herein, in order to better generalize machine learning models and make inferences more reliable. Synthetic images 552 are generated to simulate intensity and color variations produced by different laboratories and scanners, and synthetic images 552 and the original images are used for adversarial training to improve the robustness of the machine learning model. Synthetic images 552 are created with one or more algorithms configured to create artificial intensity and / or color variations in the original images in order to augment the training dataset and improve the performance of the machine learning model, i.e., to achieve better generalization / accuracy. Labels 545 from the original images can be transferred to the synthetic images 552.
[0087] One or more algorithms are configured to take an original image as input and obtain spectral data of the original image generated by an image scanner, which can be decomposed into different acquisition parts or "channels" representing the relative contributions of different stains or analytes used with the sample. Decomposition may be performed based on the principle of linear non-mixing (sometimes called "spectral deconvolution" or "spectral decomposition"). According to this principle, the spectral data of the original spectral data cube is computationally compared with, for example, a known reference spectrum of a particular analyte or dye, and then, using a linear non-mixing algorithm, the known spectral components are separated into channels representing the contribution (e.g., net intensity) of each analyte or stain to the intensity at each pixel.
[0088] A digital color image typically has three values per pixel, where the values represent a measure of light intensity and color difference per pixel. One or more algorithms are configured to fix the values of one or more variables (e.g., color difference or color information) while changing (increasing or decreasing) the values of one or more other variables (e.g., intensity) for each determined channel. Each scheme of fixed channels and changed variables can be used to output a composite image (i.e., adversarial example) from the original image. For example, to simulate intensity variations from different scanners / laboratories for AREG / EREG images, one could develop an algorithm that fixes the color difference or color information configuration of the HTX channel and the dabsyl ER channel, but changes (increases and decreases) the intensity of the dabsyl ER channel by 10% to 20% while keeping the intensity of the HTX channel fixed. Figure 8 shows the original image ("actual") and seven composite images derived from it using such algorithms.
[0089] Figure 9 shows that the performance of a machine learning model (e.g., a U-Net model) can be improved by generating synthetic images with small intensity changes (e.g., 10-20%) as described herein, and training the machine learning algorithm using a combination of the original images and the segmented or synthetic images. Specifically, 72 original images were generated along with 504 enhanced images, and there were 56,874 cell labels (ER-positive tumor cells, ER-negative cells) annotated with a dot at the center of each cell nucleus. By training the U-Net model with all these images, it became possible to identify positive ER cells in images with small intensity changes (e.g., 10-20%) compared to training with original images without staining intensity enhancement, and the model's accuracy improved from 0.92 to 0.99.
[0090] Gradient changes and blurring effect During tissue processing and slide scanning, slide artifacts, such as out-of-focus arches, may occur. Facts (e.g., blurring and gradient changes) can easily creep in, negatively impacting the performance of machine learning models. For example, blurring can lead to incorrect cell phenotypic classification in deep learning-based biomarker analysis (see, e.g., Figure 10A). A common strategy to avoid such model prediction errors is to develop either an automated quality control (QC) approach or manual processing to identify these artifact regions and exclude them from downstream deep learning analysis. However, such strategies have the following drawbacks: Firstly, it depends on a subjectively determined degree of adversarial behavior (e.g., blurring), which is flagged as an artifact that is harmful if it exceeds a certain level. Such subjectivity leads to inconsistencies between the perception of out-of-focus artifacts such as blurring and levels of blurring in analyzers, not only causing inconsistent QC results across samples and analyzers but also resulting in a significant decrease in machine learning model performance. For example, a pathologist may have a high tolerance for blurring for a particular biomarker assay (see, e.g., Figure 10B) and may not be able to flag blurred regions, which is problematic in machine learning models. Secondly, image regions below the adversarial threshold exhibit variations in the quality of their focus, further leading to variability in the performance of machine learning models.
[0091] To overcome these and other challenges, techniques are disclosed herein for generating synthetic images 552 and performing training data augmentation before and / or during training, in order to better generalize machine learning models and make inferences more reliable. Synthetic images 552 are generated to simulate out-of-focus artifacts, and synthetic images 552 and the original images are used for adversarial training to improve the robustness of the machine learning model. Synthetic images 552 are created with one or more algorithms configured to create artificial out-of-focus artifacts in the original images in order to augment the training dataset and improve the performance of the machine learning model, i.e., to achieve better generalization / accuracy. Labels 545 from the original images can be transferred to the synthetic images 552.
[0092] One or more algorithms are configured to take an original image as input and apply one or more defocusing effects to the entire image, a region of the image, a channel, or FOV to produce a composite image 552. Effects applied by the algorithm include one or more functions, including smoothing, blurring, softening, and / or edge blurring. Smoothing functions make textured regions and objects smoother, so that their contours are not as sharp. Blurring functions, such as Gaussian blur, blur regions and objects by applying a weighted average of the color values of pixels in a kernel to the currently filtered pixel and applying the function to all pixels in the region and object being filtered. Softening functions soften selected regions and objects by blending pixels in objects and regions with the colors of the surrounding pixels. Edge blurring functions blur the edges of selected regions and objects by blending the pixels at the edges of objects and regions with the colors of the pixels directly surrounding them. One or more algorithms are configured to change (increase or decrease) the values of one or more other variables (e.g., degree of smoothing, degree of blur, opacity, softness) while fixing the values of one or more variables (e.g., kernel size, pixel value change, vertical shift, horizontal shift) for each image, region, channel, or FOV. Each scheme of fixed and changed variables for an image, region, channel, or FOV can be used to output a composite image (i.e., adversarial example) from the original image. For example, to simulate blur in an image of poor scan quality, one could develop an algorithm that fixes the smoothing, kernel size, and vertical / horizontal shift within a region of the image, but changes (increases and decreases) the degree of blur within that region.
[0093] The following example (i) removes adversarial exemplary images and (ii) removes adversarial exemplary regions. This example demonstrates how to preprocess, augment, and use synthetic training data to effectively train a machine learning model to detect, characterize, and / or classify some or all of an image that is not included. For cell phenotypic classification, cell center detection can be constructed as an image segmentation problem along with phenotypic classification (e.g., Ki-67 positive tumor, negative tumor). Annotations are dots placed at the center of cells, each having a single pixel size along with their phenotypic class. To perform image segmentation, the dot annotations are extended to disk as ground truth labels. In this example, the U-Net architecture is used as the underlying model design, and the architecture is modified by removing the last downsampled blocks and reducing the intermediate convolutional layer channel number by a quarter to construct the machine learning model (Ki-67 classification model).
[0094] The training dataset was obtained from slide images of breast cancer tissue samples stained for Ki-67 or estrogen receptor (ER) with DAB. The test dataset was obtained from the same histological types, but all stained for Ki-67. Both the training and test datasets contained images from different secondary breast cancer types, including lobular carcinoma, ductal carcinoma, and other rare secondary types. The datasets contained images of varying sizes at 20x magnification with a resolution of 0.5 μm / pixel. Patches of size 256 × 256 were randomly cropped from these images in each training interaction before being fed into the Ki-67 classification model.
[0095] The performance changes of trained Ki-67 classification models were quantitatively evaluated on the test dataset in the presence of synthetically generated blur using a Gaussian kernel with sigma values ranging from 0 to 5 (see example in Figure 11A). The test dataset is comprehensive and includes 385 image tiles sampled from 95 full slide images. The accuracy of Ki-67-negative tumor cells decreased from 0.855 without blur to 0.816 at a sigma value of 1.5, and further to less than 0.8 at a sigma value of 2 (see Figure 11B). As an example, the application in selecting an adversarial threshold level (e.g., blur threshold) is that the adversarial threshold level can be set to 1.5 or 2 for blur QC if an acceptable level of performance degradation below 0.04 is acceptable or desired. Such an analytical method allows for the determination of unbiased blur thresholds for preprocessing QC.
[0096] To construct classification models robust to blur levels below the aforementioned adversarial threshold, cell classification models were trained on blurred training images at sigma levels randomly selected in each epoch from a range of sigma values less than 1.5, and each model was tested on a test dataset blurred with the same sigma values. The performance degradation compared to testing with unblurred images was smaller for both tumor-positive and tumor-negative classes when blur augmentation was applied (orange lines in Figures 12A and 12B) compared to when blur augmentation was not applied (light blue lines in Figures 12A and 12B). Therefore, such data augmentation techniques, along with quantitative evaluation procedures, demonstrate the effectiveness of such adversarial robustness training algorithms.
[0097] Cell size variation In digital pathology, cell size variability is a common disturbance resulting from heteromorphic cancer morphology, artifacts in histological preparation, and subject-to-subject variability. Robustness of machine learning models to cell size variability is expected in the real world, but difficult to achieve. For example, when machine learning models were tested with variable cell sizes, the classification results were insufficient. Figure 13A shows the classification results of the machine learning model run on an image of the original PDL1-stained breast cancer sample, and Figure 13B shows the classification results of the machine learning model run on the same image at 120% enhancement size and then cropped back to the original size. Each marker is colored differently (cyan - IC (immune cells) negative, yellow - IC positive, pink - TC (tumor cells) Cells were annotated as follows: negative (red), TC positive (black), and others (black). As shown, due to variations in the size of the enhanced images, the machine learning model misclassified all immune cells as tumor cells.
[0098] To address this challenge, the machine learning model was trained by implementing a data augmentation technique described herein, which is randomly resized harvested images whose FOV is resized to 110% and 120%, and then trimmed back to the original input size. This tripled the size of the original training set with a much wider sampling of cell size, which helped the machine learning model learn not to place as much importance on cell size during classification. More specifically, the data augmentation technique generates synthetic images 552 and performs augmentation of the training data before and / or during training to allow the machine learning model to generalize better and make inferences more reliable. Synthetic images 552 are generated to simulate various cell sizes, and the synthetic images 552 and the original images are used for adversarial training to improve the robustness of the machine learning model. Synthetic images 552 are created with one or more algorithms configured to resize cells or objects in the original images in order to augment the training dataset and improve the performance of the machine learning model, i.e., to achieve better generalization / accuracy. Labels 545 from the original image can be transferred to the composite image 552.
[0099] One or more algorithms are configured to take an original image as input, apply one or more scaling factors to the entire image, a region of the image, a channel, or FOV, and then crop the image to a predetermined size (e.g., the same size as the original image) to produce a composite image 552. One or more algorithms are configured to change (increase or decrease) the value of one or more other variables (e.g., scaling factors) while fixing the value of one or more variables (e.g., color information, intensity, vertical or horizontal shift) for each image, region, channel, or FOV. Each scheme of fixed and changed variables for the image, region, channel, or FOV can be used to output a composite image (i.e., adversarial example) from the original image. For example, to simulate a variable size image, an algorithm can be developed that fixes the color information and intensity of a region or FOV of an image containing immune cells, but changes (increases and decreases) the scale of the region so that the size of the cells changes without changing the color information and intensity of the immune cells. Alternatively, an algorithm could be developed to fix the degree of blurring in the image region or FOV containing immune cells, but to change (increase and decrease) the scale and intensity of the region so that the size and intensity of the cells change without altering the transparency of the focus of the immune cells. Or, an algorithm could be developed to fix all variables of the entire image except scale, so that the size of everything depicted in the image is changed (increased and decreased) accordingly.
[0100] Figure 14A shows the detection results of a trained machine learning model without variable-size data argumentation in an image where cells are of typical size. The trained machine learning model demonstrated the ability to accurately classify cells of typical size in the image. However, when there was little disturbance to the cells in the image, with a difference in cell size of only 110% to 120%, the trained machine learning model without variable-size data argumentation was unable to accurately classify a large number of cells, as shown in Figure 14B. The machine learning model was then trained using a variable-size data argumentation method with random-size harvested data, where the FOV was resized to 110% and 120%, and then cropped back to the original input size. Figure 14C shows that the machine learning model can correctly identify cells with variable changes. As a result of the variable-size data argumentation method, the classification results were corrected and the robustness of the machine learning model to cell size disturbances was improved, as shown in Figures 14A to 14C.
[0101] In the training phase 520, the labels 545 and the corresponding preprocessed images 540 may be used by the training controller 565 to train the machine learning algorithm 555. To train the algorithm 555, the preprocessed images 540 are split into a subset of training images 540a (e.g., 90%) and a subset of validation images 540b (e.g., 10%). The splitting may be performed randomly (e.g., 90 / 10% or 70 / 30%) or according to more complex validation techniques such as K-fold cross-validation, skip-apart cross-validation, group skip-apart cross-validation, or nested cross-validation to minimize sampling bias and overfitting. The splitting may also be performed on the basis of including augmented or composite images 552 in the preprocessed images 540. For example, it may be beneficial to limit the number or proportion of composite images 552 included in the subset of training images 540a. In some examples, the ratio of the original image 535 to the composite image 552 is maintained at 1:1, 1:2, 2:1, 1:3, 3:1, 1:4, or 4:1.
[0102] In some examples, the machine learning algorithm 555 includes a CNN, a modified CNN with a coding layer replaced by a residual neural network ("ResNet"), or a modified CNN with coding and decoding layers replaced by ResNet. In other examples, the machine learning algorithm 555 could be any suitable machine learning algorithm configured to localize, classify, and / or analyze a preprocessed image 540, or one or more combinations of such techniques, such as a visual transformer, CNN-HMM, or MCNN (multiscale convolutional neural network), such as a two-dimensional CNN ("2DCNN"), Mask R-CNN, U-Net, feature pyramid network (FPN), dynamic time stretching ("DTW") technique, hidden Markov model ("HMM"), or pure attention-based model. The computing environment 500 may employ the same type of machine learning algorithm, or different types of machine learning algorithms trained to detect and classify different cells. For example, the computing environment 500 could include a first machine learning algorithm (e.g., U-Net) for detecting and classifying PD1. The computing environment 500 may also include a second machine learning algorithm (e.g., a 2D CNN) for detecting and classifying differentiation clusters 68 ("CD68"). The computing environment 500 may also include a third machine learning algorithm (e.g., U-Net) for detecting and classifying PD1 and CD68 in combination. The computing environment 500 may also include a fourth machine learning algorithm (e.g., a HMM) for diagnosing diseases for the treatment or prognosis of a subject, such as a patient. Further other types of machine learning algorithms may be implemented in other examples provided herein.
[0103] The training process for machine learning algorithm 555 involves selecting hyperparameters for machine learning algorithm 555 from parameter datastore 563, inputting a subset of images 540a (e.g., labels 545 and corresponding preprocessed images 540) into machine learning algorithm 555, and performing iterative operations to learn a set of parameters for machine learning algorithm 555 (e.g., one or more coefficients and / or weights). Hyperparameters are settings that can be tuned or optimized to control the behavior of machine learning algorithm 555. Most algorithms explicitly define hyperparameters that control different aspects of the algorithm, such as memory or execution cost. However, additional hyperparameters may be defined to fit the algorithm to a particular scenario. For example, hyperparameters may include the number of hidden units in the algorithm, the learning rate of the algorithm (e.g., 1e-4), the convolution kernel width, or the number of kernels in the algorithm. In some examples, the number of model parameters decreases for each convolutional and deconvolutional layer, and / or the number of kernels decreases by half for each convolutional and deconvolutional layer compared to a typical CNN.
[0104] A subset of images 540a can be input to the machine learning algorithm 555 as a batch of a predetermined size. The batch size limits the number of images presented to the machine learning algorithm 555 before parameter updates can be performed. Alternatively, a subset of images 540a can be input to the machine learning algorithm 555 as a time series or sequentially. In either case, if augmented or composite images 552 are included in the preprocessed images 540a, the number of original images 535 versus the number of composite images 552 included in each batch, or the way in which the original images 535 and phenotypic images 552 are supplied to the algorithm (e.g., every other batch or image is the original batch or original image of the images) can be defined as hyperparameters.
[0105] Each parameter is a variable that can be adjusted so that its value is modified during training. For example, a cost function or objective function may be configured to optimize the accurate classification of the displayed representations, to optimize the characterization of features of a given type (e.g., characterization of shape, size, uniformity, etc.), to optimize the detection of features of a given type, and / or to optimize the accurate localization of features of a given type. Each iteration may include learning a set of parameters for the machine learning algorithm 555 that minimizes or maximizes the cost function of the machine learning algorithm 555, so that the value of the cost function using a set of parameters is less than or greater than the value of the cost function using a different set of parameters in the previous iteration. The cost function may be configured to measure the difference between the output predicted using the machine learning algorithm 555 and the labels 545 contained in the training data. Once a set of parameters is identified, the machine learning algorithm 555 is trained and can be used for design purposes, such as localization and / or classification.
[0106] Training iterations continue until a termination condition is met. Training completion conditions may be configured to be met when (for example) a predetermined number of training iterations are completed, when statistics generated based on testing or validation exceed a predetermined threshold (e.g., a classification accuracy threshold), when statistics generated based on confidence metrics (e.g., the mean or median of a confidence metric or a percentage of a confidence metric above a certain value) exceed a predetermined confidence threshold, and / or when a user device involved in training review closes the training application executed by the training controller 565. The validation process may include iterative operations inputting images from a subset of images 540b into the machine learning algorithm 555 using validation techniques such as K-fold cross-validation, skip-a-image cross-validation, skip-group cross-validation, and nested cross-validation to tune hyperparameters and ultimately find the optimal set of hyperparameters. Once the optimal set of hyperparameters is obtained, a reserved test set of images from a subset of images 540b is input to the machine learning algorithm 555 to obtain an output, which is evaluated against ground truth by calculating performance metrics such as error, accuracy, precision, recall, and receiver operating characteristic curve (ROC) using correlation techniques such as the Bland-Altman method and Spearman's rank correlation coefficient. In some examples, a new training iteration can be started in response to the reception of a corresponding request or trigger condition from a user device (e.g., drift is determined within the trained machine learning model 560).
[0107] As can be understood, other training / validation mechanisms are contemplated and may be implemented within the computing environment 500. For example, the machine learning algorithm 555 may be trained on images from a subset of images 540a, and its hyperparameters may be tuned, while images from a subset of images 540b may be used solely to test and evaluate the performance of the machine learning algorithm 555. Furthermore, the training mechanisms described herein focus on training new machine learning algorithms 555. These training mechanisms can also be used to fine-tune existing machine learning models 560 trained on other datasets. It can be used for this purpose. For example, in some cases, the machine learning model 560 may be pre-trained using images of other subjects or biological structures, or from sections of other objects or studies (e.g., human trials or mouse experiments). In those cases, the machine learning model 560 may be used for transfer learning and retrained / validated using the pre-processed images 540.
[0108] Next, (in the results generation stage 525) the trained machine learning model 560 can be used to process the new preprocessed image 540 to generate predictions or inferences, such as predicting cell center and / or location probabilities, classifying cell types, generating cell masks (e.g., pixel-by-pixel segmentation masks for the image), predicting the diagnosis or prognosis of a target disease such as a patient, or a combination thereof. In some examples, the masks identify the location of displayed cells associated with one or more biomarkers. For example, given tissue stained for a single biomarker, the trained machine learning model 560 may be configured to (i) infer the center and / or location of cells, (ii) classify cells based on the characteristics of the staining pattern associated with the biomarker, and (iii) output cell detection masks for positive cells and cell detection masks for negative cells. As another example, given tissue stained for two biomarkers, the trained machine learning model 560 may be configured to (i) infer the center and / or location of cells, (ii) classify cells based on the characteristics of the staining patterns associated with the two biomarkers, and (iii) output cell detection masks for cells positive for the first biomarker, cell detection masks for cells negative for the first biomarker, cell detection masks for cells positive for the second biomarker, and cell detection masks for cells negative for the second biomarker. As yet another example, given tissue stained for a single biomarker, the trained machine learning model 560 may be configured to (i) infer the center and / or location of cells, (ii) classify cells based on the characteristics of the cells and the staining patterns associated with the biomarker, and (iii) output cell detection masks for positive cells and cell detection masks for negative cell codes, as well as mask cells classified as tissue cells.
[0109] In some embodiments, the analysis controller 580 generates analysis results 585 for use by the entity that requested the processing of the underlying images. The analysis results 585 may include a mask output from a trained machine learning model 560 overlaid on a new preprocessed image 540. Additionally or alternatively, the analysis results 585 may include information calculated or determined from the output of the trained machine learning model, such as a full-slide tumor score. In exemplary embodiments, the automated analysis of tissue slides uses the FDA-approved 510(k) approved algorithm of the assignee, VENTANA. Alternatively or additionally, any other automated algorithm may be used to analyze selected areas of the image (e.g., masked images) to generate scores. In some embodiments, the analysis controller 580 may further respond to instructions received from a computing device, such as those from a pathologist, physician, investigator (e.g., associated with a clinical trial), patient, or healthcare professional. In some embodiments, communication from a computing device includes an identifier for each of a particular set of subjects and responds to a request to perform an iterative analysis for each subject represented in that set. The computing device can perform further analysis based on the machine learning model and / or the output of the analysis controller 580, and / or provide recommendations for diagnosis / treatment.
[0110] Computing environment 500 is illustrative, and it will be understood that computing environment 500 may have different stages and / or use different components. For example, in some examples, the network may omit the preprocessing stage 510, thereby providing images and / or models used to train the algorithm. Thus, the processed image becomes the raw image (e.g., from the image data store). As another example, it will be understood that each of the preprocessing stage 510 and the training stage 520 may include a controller for performing one or more operations described herein. Similarly, the labeling stage 515 is shown in relation to the labeling controller 550, and the results generation stage 525 is shown in relation to the analysis controller 580, but the controllers associated with each stage may further or alternatively facilitate other operations described herein other than the generation of labels and / or the generation of analysis results. As yet another example, the representation of the computing environment 500 shown in Figure 5 lacks a displayed representation of the devices associated with the programmer (e.g., who selected the architecture of the machine learning algorithm 555 defining how various interfaces function, etc.), the devices associated with the user who provides the initial label or label review (e.g., in the labeling stage 515), and the devices associated with the user requesting model processing of a given image (which may be the same user or a different user as the one who provided the initial label or label review). Despite the absence of indication of these devices, the computing environment 500 may include the use of one, more, or all of the devices, and in fact may include the use of multiple devices associated with multiple corresponding users providing initial labels or label reviews, and / or multiple devices associated with multiple corresponding users requesting model processing of various images.
[0111] V. Techniques for training machine learning algorithms using adversarial examples Figure 15 shows a flowchart illustrating process 1500 for training a machine learning algorithm (e.g., a modified U-Net) using a training set of adversarial example-enhanced images, in various embodiments. Process 1500 shown in Figure 15 may be implemented in software (e.g., code, instructions, programs) executed by one or more processing units (e.g., processors, cores) of each system, hardware, or combination thereof. The software may be stored in a non-temporary storage medium (e.g., a memory device). Process 1500 presented in Figure 15 and described below is intended to be illustrative and non-limiting. Figure 15 shows, but is not limited to, various processing steps performed in a particular sequence or order. In certain alternative embodiments, the steps may be performed in several different orders, or several steps may be performed in parallel. In certain embodiments, such as those shown in Figures 4 and 5, the process shown in Figure 15 can be performed as part of a training phase (e.g., algorithm training 520) in which a machine learning algorithm is trained using a training set of adversarial examples-enhanced images to generate a machine learning model configured to detect, characterize, classify, or combine some or all of the regions or objects within an image.
[0112] Process 1500 begins in block 1505, where a training set of images of a biological sample (e.g., preprocessed images 540 of the computing environment 500 described with respect to Figure 5) is acquired or accessed by the computing device. In some examples, the training set of images is a digital pathology image containing one or more types of cells. The training set of images displays cells having staining patterns associated with biomarkers. In some examples, the training set of images displays cells having multiple staining patterns associated with multiple biomarkers. The training set of images can be annotated with training labels (e.g., supervised, semi-supervised, or weakly supervised).
[0113] In block 1510, the image training set is augmented by adversarial examples. Augmentation includes inputting the image training set into one or more adversarial algorithms and applying one or more adversarial algorithms to the image training set to generate a synthetic image as an adversarial example. One or more adversarial algorithms are For each image, the system is configured to generate a composite image having varying levels of one or more adversarial features by fixing the values of one or more variables while changing the values of one or more other variables for one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image. Augmentation further includes generating a batch of augmented images, which include images from a training set of images and composite images from adversarial examples.
[0114] In some examples, one or more other variables are intensity, chrominance, or both of the following: each pixel in the image, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image. In other examples, one or more other variables are the degree of smoothing, blurring, opacity, softness, or any combination thereof for each pixel in the image, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image. In other examples, one or more other variables are scaling factors for resizing objects depicted in each of the images, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image.
[0115] In some examples, one or more adversarial algorithms are configured to fix the value of one or more variables while changing the value of one or more other variables for a first channel of one or more channels in an image, and to fix the value of one or more variables while changing the value of one or more other variables for a second channel of one or more channels in an image. In other examples, one or more adversarial algorithms are configured to fix the value of one or more variables while changing the value of one or more other variables for a first channel of one or more channels in an image, and to fix the value of one or more other variables while changing the value of one or more other variables for a second channel of one or more channels in an image.
[0116] Training involves performing iterative operations to learn a set of parameters for detecting, characterizing, classifying, or doing a combination thereof some or all of the regions or objects in an augmented batch of images, maximizing or minimizing a cost function. Each iteration involves finding a set of parameters for a machine learning algorithm such that the value of the cost function using the set of parameters is greater than or less than the value of the cost function using a different set of parameters in the previous iteration. The cost function is constructed to measure the difference between the predictions made for some or all of the regions or objects using the machine learning algorithm and the ground truth labels provided for the augmented batch of images.
[0117] In block 1515, the machine learning algorithm generates a machine learning model that is trained on an augmented batch of images to detect, characterize, classify, or perform a combination thereof, some or all of the regions or objects in a new image. The output of the training includes a trained machine learning model with a learned set of parameters associated with nonlinear relationships that derive the minimum or maximum of the cost function from all iterations.
[0118] In block 1520, a trained machine learning model is provided. For example, the trained machine learning model can be deployed for execution in an image analysis environment, as illustrated with reference to Figure 5.
[0119] VI. Techniques for training machine learning models to exclude the adversarial region. Figure 16 shows a flowchart illustrating a process 1600 for using adversarial threshold levels to train a machine learning algorithm (e.g., a modified U-Net) in various embodiments. The process 1600 shown in Figure 16 may be implemented in software (e.g., code, instructions, programs) executed by one or more processing units (e.g., processors, cores) of each system, hardware, or combination thereof. The software may be stored in a non-temporary storage medium (e.g., a memory device). The process 1600 presented in Figure 16 and described below is intended to be illustrative and non-limiting. Figure 16 shows, but is not limited to, various processing steps performed in a particular sequence or order. In certain alternative embodiments, the steps may be performed in several different orders, or several steps may be performed in parallel. In certain embodiments, such as those shown in Figures 4 and 5, the process shown in Figure 16 can be performed as part of a training phase (e.g., algorithm training 520) to train a machine learning algorithm and an outcome generation phase (e.g., outcome generation 525) to generate a revised machine learning model configured to identify adversarial regions and exclude them from downstream processing or analysis.
[0120] Process 1600 begins in block 1605, where a set of digital pathology images is accessed or acquired. In some examples, the digital pathology images include one or more types of cells. The images may display cells containing staining patterns of one or more biomarkers. In certain cases, one or more images display cells containing staining patterns of a biomarker and another biomarker. As described with respect to Figure 1, the images may be pre-treated by immunochemical staining techniques (e.g., IF) so that specific proteins and organelles in the biological sample are visible for processing and analysis in an analytical system. In some embodiments, the images are stained using multiple stains or binders, such as antibodies, so that information about different biomarkers may be reported under multichannel analysis or similar techniques.
[0121] In block 1610, a set of digital pathology images is input to one or more adversarial algorithms. The one or more adversarial algorithms are applied to the set of digital pathology images to generate a composite image. For each image, the one or more adversarial algorithms are configured to generate a composite image with varying levels of one or more adversarial features by fixing the values of one or more variables while changing the values of one or more other variables for one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image. In some examples, the images are first transformed / processed by some calculation (e.g., converted from RGB to grayscale), and then the one or more adversarial algorithms are configured to generate a composite image with varying levels of one or more adversarial features by fixing the values of one or more variables while changing the values of one or more other variables for one or more regions of interest in the preprocessed image, one or more channels in the preprocessed image, or one or more fields of view in the preprocessed image, for each preprocessed image.
[0122] In block 1615, the performance of a machine learning model for making inferences about some or all regions or objects within a set of digital pathology and composite images is evaluated. For example, performance may be evaluated based on the machine learning model's ability to make accurate inferences.
[0123] In block 1620, the adversarial threshold level at which the machine learning model can no longer make accurate inferences is identified based on evaluation. For example, if defined as an inference with a confidence score of over 80% accuracy, the level of image adversarial threshold at which the machine learning model gives an 80% confidence score (e.g., a blur level of 2.0) is identified as the threshold at which the machine learning model can no longer make accurate inferences. It is identified as a threshold level of hostility that prevents accurate inference.
[0124] In block 1625, the range of adversarial levels above the identified threshold level is applied as a ground truth label in the training set of images. For example, during the image annotation and labeling process, any image, region of interest, object, or field of view (e.g., a blur level of 2.0) identified as having an adversarial level above the identified threshold level will receive a ground truth label corresponding to the adversarial features above the identified threshold level.
[0125] In block 1630, a machine learning algorithm is trained using the image training set to generate a revised machine learning model configured to identify adversarial regions and exclude harmful regions from downstream processing or analysis. The revised machine learning model may be further configured to detect, characterize, classify, or perform combinations thereof of several regions or objects in a new image without considering adversarial regions.
[0126] In block 1635, a new image is received. The new image can be divided into image patches of a predetermined size. For example, a complete slide image typically has random sizes, and machine learning algorithms such as modified CNNs learn more efficiently (e.g., parallel computing on batches of images of the same size, memory constraints) with normalized image sizes. Therefore, the image can be divided into image patches of a specific size to optimize the analysis. In some embodiments, the image is divided into image patches of a predetermined size of 64 pixels × 64 pixels, 128 pixels × 128 pixels, 256 pixels × 256 pixels, or 512 pixels × 512 pixels.
[0127] In block 1640, the range of adversarial levels for the new image is determined. For example, a determination can be made regarding the average range of adversarial levels for the image based on the overall adversarial level of the image (e.g., the overall blur level of the image). In block 1645, the range of adversarial levels is compared to an adversarial threshold level, and if the range of adversarial levels for the new image is greater than the adversarial threshold level, the new image is rejected. If the range of adversarial levels for the new image is less than or equal to the adversarial threshold level, the new image is input into the revised machine learning model.
[0128] In block 1650, the image training set can be augmented with adversarial examples. Augmentation involves inputting the image training set into one or more adversarial algorithms and applying one or more adversarial algorithms to the image training set to generate a composite image with adversarial examples. The one or more adversarial algorithms are configured to generate a composite image having varying levels of one or more adversarial features by fixing the values of one or more variables while changing the values of one or more other variables for one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image, for each image. Augmentation further involves generating a batch of augmented images, which include images from the image training set and composite images from adversarial examples.
[0129] In some examples, one or more other variables are intensity, chrominance, or both of the following: each pixel in the image, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image. In other examples, one or more other variables are the degree of smoothing, blurring, opacity, softness, or any combination thereof for each pixel in the image, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image. In other examples, one or more other variables are the size of the object depicted in each of the images, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image. This is the scaling factor used to change the size.
[0130] In some examples, one or more adversarial algorithms are configured to fix the value of one or more variables while changing the value of one or more other variables for a first channel of one or more channels in an image, and to fix the value of one or more variables while changing the value of one or more other variables for a second channel of one or more channels in an image. In other examples, one or more adversarial algorithms are configured to fix the value of one or more variables while changing the value of one or more other variables for a first channel of one or more channels in an image, and to fix the value of one or more other variables while changing the value of one or more other variables for a second channel of one or more channels in an image.
[0131] Training involves performing iterative operations to learn a set of parameters for detecting, characterizing, classifying, or doing a combination thereof some or all of the regions or objects in an augmented batch of images, maximizing or minimizing a cost function. Each iteration involves finding a set of parameters for a machine learning algorithm such that the value of the cost function using the set of parameters is greater than or less than the value of the cost function using a different set of parameters in the previous iteration. The cost function is constructed to measure the difference between the predictions made for some or all of the regions or objects using the machine learning algorithm and the ground truth labels provided for the augmented batch of images.
[0132] In block 1655, the machine learning algorithm can generate a machine learning model that has been trained on an augmented batch of images to detect, characterize, classify, or perform combinations thereof some or all of a region or object in a new image without considering the adversarial region. The output of the training includes a trained machine learning model having a learned set of parameters associated with a nonlinear relationship from which the minimum or maximum value of the cost function is derived from all iterations.
[0133] In block 1660, a trained machine learning model is provided. For example, the trained machine learning model can be deployed for execution in an image analysis environment, as illustrated with reference to Figure 5.
[0134] In block 1665, the image or image patch is input to a revised machine learning model for further analysis. In block 1670, the revised machine learning model detects, characterizes, classifies, or combines some or all of the regions or objects within the image or image patch, and outputs inferences based on the detection, characterization, classification, or combination thereof.
[0135] In the optional block 1675, the diagnosis of the object associated with the image or image patch is determined based on the inferences output by the revised machine learning model.
[0136] In an optional block 1680, treatment is applied to a subject associated with an image or image patch. In some cases, treatment is based on (i) the inference output of a machine learning model or a modified machine learning model, and / or (ii) the diagnosis of the subject determined in block 1675.
[0137] VII. Further Considerations Some embodiments of this disclosure include a system comprising one or more data processors. In some embodiments, the system includes a non-temporary computer-readable storage medium containing instructions such that, when executed on one or more data processors, these instructions cause one or more data processors to execute all or part of one or more of the methods disclosed herein and / or all or part of one or more processes. Some embodiments of this disclosure include a computer program product tangibly embodied in a non-temporary machine-readable storage medium, which includes instructions configured to cause one or more data processors to execute all or part of one or more of the methods disclosed herein and / or all or part of one or more processes.
[0138] The terms and expressions used are for illustrative purposes only and are not intended to be limiting. The use of such terms and expressions is not intended to exclude any equivalents of the exhibited and described features or any part thereof, but it should be recognized that various modifications are possible within the scope of the claimed invention. Therefore, while the claimed invention is specifically disclosed by embodiments and optional features, modifications and variations of the concepts disclosed herein may be used by those skilled in the art, and such modifications and variations should be understood to be within the scope of the invention as defined by the appended claims.
[0139] The following description provides only preferred exemplary embodiments and is not intended to limit the scope, applicability, or configuration of the Disclosure. Rather, the following description of preferred exemplary embodiments provides a possible description for carrying out various embodiments for those skilled in the art. It will be understood that various modifications can be made to the function and arrangement of the elements without departing from the spirit and scope set forth in the appended claims.
[0140] Specific details are given in the following description to provide a complete understanding of the embodiments. However, it will be understood that embodiments may be carried out without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in the form of block diagrams to avoid obscuring the embodiments with unnecessary details. In other examples, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary details to avoid obscuring the embodiments.
Claims
1. A computer implementation method, In a data processing system, this involves obtaining a training set of images to train a machine learning algorithm to detect, characterize, classify, or perform combinations thereof for some or all regions or objects within an image. The data processing system enhances the training set of images using adversarial examples, Inputting the aforementioned image training set into one or more adversarial algorithms, To generate a composite image as an adversarial example, the method involves applying one or more adversarial algorithms to a training set of images, wherein the one or more adversarial algorithms are configured to generate the composite image having various levels of one or more adversarial features by fixing the value of one or more variables while changing the value of one or more other variables for each of the images, one or more regions of interest within the images, one or more channels within the images, or one or more fields of view within the images, and Augmentation includes generating a batch of augmented images, which includes images from the training set of images and the composite images from the adversarial examples. The data processing system trains the machine learning algorithm using the augmented image batch to generate a machine learning model configured to detect, characterize, classify, or perform combinations thereof for some or all regions or objects within the new image. Methods that include...
2. The method according to claim 1, wherein the training set of images is a digital pathology image containing one or more types of cells.
3. The method according to claim 1 or 2, wherein the one or more other variables are intensity, color difference, or both of each pixel of the image, the one or more regions of interest in the image, the one or more channels of the image, or the one or more fields of view in the image.
4. The method according to claim 1 or 2, wherein the one or more other variables are the degree of smoothing, blurring, opacity, softness, or any combination thereof for each pixel of the image, the one or more regions of interest in the image, the one or more channels of the image, or the one or more fields of view in the image.
5. The method according to claim 1 or 2, wherein the one or more other variables are scaling factors for resizing each of the images, the one or more regions of interest in the images, the one or more channels in the images, or objects depicted in the one or more fields of view in the images.
6. The method according to claim 1 or 2, wherein the one or more adversarial algorithm is configured to fix the value of one or more variables while changing the value of the first variable among one or more other variables for a first channel of the one or more channels of the image, and to fix the value of one or more variables while changing the value of the second variable among one or more other variables for a second channel of the one or more channels of the image.
7. The one or more adversarial algorithms the one or more channels of the image The method according to claim 1 or 2, wherein the first channel of the image is configured to fix the value of the first variable among the one or more other variables while changing the value of the first variable among the one or more other variables, and the second channel of the image is configured to fix the value of the second variable among the one or more other variables while changing the value of the second variable among the one or more other variables.
8. The method according to claim 1 or 2, wherein the training comprises performing iterative operations to learn a set of parameters for detecting, characterizing, classifying, or combining some or all regions or objects in a batch of augmented images that maximize or minimize a cost function, each iteration comprising finding the set of parameters of the machine learning algorithm such that the value of the cost function using the set of parameters is greater than or less than the value of the cost function using a different set of parameters in a previous iteration, the cost function is constructed to measure the difference between predictions made for some or all of the regions or objects using the machine learning algorithm and ground truth labels supplied to the batch of augmented images.
9. The method according to claim 1 or 8, further comprising supplying the machine learning model.
10. The method according to claim 9, wherein the supply includes deploying the machine learning model to a digital pathology system.
11. A computer implementation method, The data processing system obtains a set of digital pathology images containing one or more types of cells. The data processing system inputs the set of digital pathology images into one or more adversarial algorithms. The data processing system applies one or more adversarial algorithms to the set of digital pathology images in order to generate a composite image, wherein the one or more adversarial algorithms are configured to fix the value of one or more variables while changing the value of one or more other variables for each image in the set of digital pathology images, one or more regions of interest in the image, one or more channels in the image, or one or more fields of view in the image, in order to generate a composite image having various levels of one or more adversarial features. The data processing system evaluates the performance of the machine learning model and performs inferences regarding some or all regions or objects within the set of digital pathology images and the composite image. The data processing system identifies a threshold level of antagonism at which the machine learning model can no longer accurately perform the inference based on the evaluation. The data processing system applies a range of adversarial levels exceeding the identified threshold level as ground truth labels in the training set of images, and The data processing system trains a machine learning algorithm using the training set of images to generate a revised machine learning model configured to identify adversarial regions and exclude the adversarial regions from downstream processing or analysis. Methods that include...
12. The method according to claim 11, wherein the revised machine learning model is further configured to detect, characterize, classify, or combine several regions or objects in a new image without considering the adversarial regions.
13. The data processing system receives a new image. The data processing system determines the range of adversarial levels for the new image. The data processing system compares the range of hostility with the threshold level of hostility. If the range of hostility for the new image is greater than the threshold level of hostility, the data processing system rejects the new image, and If the range of adversarial levels for the new image is below the adversarial threshold level, the data processing system inputs the new image into the revised machine learning model. The method according to claim 11, further comprising:
14. The data processing system enhances the training set of images using adversarial examples, Inputting the aforementioned image training set into one or more adversarial algorithms, To generate a composite image as an adversarial example, the one or more adversarial algorithms are applied to a training set of the images, wherein the one or more adversarial algorithms are configured to fix the value of one or more variables while changing the value of one or more other variables based on the adversarial threshold level for each of the images, one or more regions of interest within the images, one or more channels within the images, or one or more fields of view within the images, thereby generating a composite image having various levels of one or more adversarial features that are below the adversarial threshold level, and Augmentation includes generating a batch of augmented images, which includes images from the training set of images and the composite images from the adversarial examples. The data processing system trains the machine learning algorithm using a batch of augmented images to generate the revised machine learning model configured to detect, characterize, classify, or combine some or all of the regions or objects in a new image without considering the adversarial regions. The method according to claim 11, further comprising:
15. The method according to claim 11, wherein the training set of images is a digital pathology image containing one or more types of cells.
16. The method according to claim 11 or 14, wherein the one or more other variables are intensity, color difference, or both of each pixel of the image, the one or more regions of interest in the image, the one or more channels of the image, or the one or more fields of view in the image.
17. The method according to claim 11 or 14, wherein the one or more other variables are the degree of smoothing, blurring, opacity, softness, or any combination thereof for each pixel of the image, the one or more regions of interest in the image, the one or more channels of the image, or the one or more fields of view in the image.
18. The method according to claim 11 or 14, wherein the one or more other variables are scaling factors for resizing each of the images, the one or more regions of interest in the images, the one or more channels in the images, or objects depicted in the one or more fields of view in the images.
19. The one or more adversarial algorithms the one or more channels of the image The method according to claim 11 or 14, wherein the first channel of the image is configured to fix the value of the one or more variables while changing the value of the first variable among the one or more other variables, and the second channel of the image is configured to fix the value of the one or more variables while changing the value of the second variable among the one or more other variables.
20. The method according to claim 11 or 14, wherein the one or more adversarial algorithms are configured to fix the value of the first variable among the one or more other variables while changing the value of the first variable among the one or more other variables for a first channel among the one or more channels of the image, and to fix the value of the second variable among the one or more variables while changing the value of the second variable among the one or more other variables for a second channel among the one or more channels of the image.
21. The method of claim 14, wherein the training comprises performing iterative operations to learn a set of parameters for detecting, characterizing, classifying, or combining some or all of the regions or objects in the batch of augmented images, each iteration comprising finding the set of parameters of the machine learning algorithm such that the value of the cost function using the set of parameters is greater than or less than the value of the cost function using a different set of parameters in the previous iteration, the cost function is constructed to measure the difference between predictions made for some or all of the regions or objects using the machine learning algorithm and ground truth labels supplied to the batch of augmented images.
22. The data processing system receives a new image. Inputting the aforementioned new image into the machine learning model or the revised machine learning model, The machine learning model or the revised machine learning model detects, characterizes, classifies, or combines, some or all of the regions or objects in the new image, and The machine learning model or the revised machine learning model outputs inference based on the detection, characterization, classification, or combination thereof. The method according to any one of claims 1 to 21, further comprising:
23. The method according to claim 22, further comprising the user determining a diagnosis of an object associated with the new image, wherein the diagnosis is determined based on the inference output by the machine learning model or the revised machine learning model.
24. The method according to claim 23, further comprising the user administering treatment to the subject based on (i) inferences output by the machine learning model or the revised machine learning model, and / or (ii) the diagnosis of the subject.
25. It is a system, One or more data processors, A non-temporary computer-readable storage medium containing an instruction, wherein when the instruction is executed on one or more data processors, the one or more data processors cause the one or more data processors to perform the steps described in any one of claims 1 to 24. A system equipped with these features.
26. A computer program product tangibly embodied in a non-temporary machine-readable storage medium, comprising instructions configured to cause one or more data processors to perform the steps described in any one of claims 1 to 24.