WO2017151757A1 - Recurrent neural feedback model for automated image annotation - Google Patents

Recurrent neural feedback model for automated image annotation Download PDF

Info

Publication number
WO2017151757A1
WO2017151757A1 PCT/US2017/020183 US2017020183W WO2017151757A1 WO 2017151757 A1 WO2017151757 A1 WO 2017151757A1 US 2017020183 W US2017020183 W US 2017020183W WO 2017151757 A1 WO2017151757 A1 WO 2017151757A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
rnn
cnn
annotation
images
Prior art date
Application number
PCT/US2017/020183
Other languages
French (fr)
Inventor
Hoo-Chang SHIN
Le LU
Ronald M. SUMMERS
Original Assignee
The United States Of America, As Represented By The Secretary, Department Of Health And Human Services
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The United States Of America, As Represented By The Secretary, Department Of Health And Human Services filed Critical The United States Of America, As Represented By The Secretary, Department Of Health And Human Services
Publication of WO2017151757A1 publication Critical patent/WO2017151757A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/20ICT specially adapted for the handling or processing of medical images for handling medical images, e.g. DICOM, HL7 or PACS
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H30/00ICT specially adapted for the handling or processing of medical images
    • G16H30/40ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems

Definitions

  • Methods and apparatus are disclosed for machine learning using neural networks to analyze medical image text reports and generating annotations for medical images describing diseases and their contexts.
  • Providing a description of a medical image's content similar to how a radiologist would describe an image can have a great impact.
  • a person can better understand a disease in an image if it is presented with its context, e.g. , where the disease is, how severe it is, and which organ is affected.
  • a large collection of medical images can be automatically annotated with the disease context and the images can be retrieved based on their context, with natural language queries such as "find me images with pulmonary disease in the upper right lobe.”
  • a deep learning model is provided to efficiently detect disease from an image (e.g. , an x-ray image) and annotate its contexts.
  • a method of generating an annotation sequence describing an input image includes training a convolutional neural network (CNN) with a series of reference images and associated annotation sequences, training a recurrent neural network (RNN) by initializing the RNN with the trained CNN embedding of the reference image and a first word of an annotation sequence, sampling the CNN and RNN with a reference image, and producing a sequence of annotation describing the image, disease(s) in the image, one or more attributes or contexts.
  • CNN convolutional neural network
  • RNN recurrent neural network
  • mean pooling is applied to the state vectors of RNN to obtain a joint image/text context vector summarizing the contexts of image and text annotation.
  • a clustering technique is applied to the obtained joint image/text context vector to assign more precise labels to the image taking the context into account. Training the CNN and RNN again with these more precise labels leads to generating more accurate annotations for a new unseen image.
  • images are selected for training the neural networks by adjusting the ratio of normal to diseased images.
  • the image training set is augmented by training the neural networks with randomly cropped versions of the training images, whereby images of normal cases are randomly selected to balance the number of diseased-to-normal cases during training.
  • a deep learning model is provided to efficiently detect diseases from an image (e.g. , an x-ray, magnetic resonance image, computerized axial tomography, or acoustic ultrasound scan of mammals including humans) and annotate its contexts (e.g. , location, severity level, and/or affected organs).
  • image annotations from a radiology dataset of medical images and associated reports are used to mine disease names to train convolutional neural networks (CNNs).
  • CNNs convolutional neural networks
  • ImageNet- trained CNN features and regularization techniques are used to circumvent large normal- vs- diseased cases bias.
  • RNNs recurrent neural networks
  • feedback from an already-trained pair of CNN/RNNs is used with the domain- specific image/text dataset to infer joint image/text contexts for composite image labeling.
  • significantly improved image annotation results are demonstrated using a recurrent neural feedback model by taking joint image/text contexts into account.
  • Methods and apparatus are disclosed for using a deep learning model to effectively and efficiently detect pathologies from an image and annotate its context (e.g. , pathology, organ, location, and severity of the detected pathology).
  • a radiology database of chest x-rays and associated image annotations are used to mine disease names to train CNNs. RNNs are then trained to describe the context of a detected disease or pathology, building on top of the deep CNN features.
  • feedback from a previously-trained pair of CNNs and RNNs with a domain-specific image/text dataset can be used to infer joint image/text context that can be used for composite image labeling.
  • image annotation results for images such as x-rays and other medical images can be produces using an RNN feedback model that takes into account joint image/text contextual information.
  • a method of generating an annotation sequence describing an input image includes training a CNN by applying a reference image and an associated annotation sequence as input to the CNN.
  • the associated annotation sequence indicates diagnosis of each respective reference image.
  • the method further includes training an RNN by initializing the RNN with the trained CNN embedding of the reference image and a first word of an annotation sequence, thus producing a first RNN state vector.
  • the trained CNN can be sampled by applying an input image as input to the CNN, thereby producing a CNN embedding of the input image.
  • the trained RNN can then be initialized by the CNN image embedding as the state vector of the RNN.
  • a context vector can be produced by "unrolling" the RNN with the trained CNN embedding initialization and a sequence of words of the annotation sequence and, by averaging (mean pooling) the state vectors of RNNs in each unrolled state.
  • the produced context vector summarizes the input image as well as the associated text annotation.
  • training data sets can be improved by normalizing the ratio of normal to diseased images used to train the CNNs and/or RNNs.
  • diseased images are augmented with randomly- selected, cropped portions of the image before training the CNNs and/or RNNs a number of times.
  • FTG. 1 is a block diagram outlining an example system for performing image analysis, as can be used in certain examples of the disclosed technology.
  • FTG. 2 is a diagram illustrating the use of neural networks to produce a context vector, as can be used in certain examples of the disclosed technology.
  • FIG. 3 illustrates an example convolutional neural network, as can be used in certain examples of the disclosed technology.
  • FIG. 4 is a flowchart outlining an example method of producing a joint text/image context vector, as can be performed in certain examples of the disclosed technology.
  • FIG. 5 illustrates an x-ray image and associated annotation text sequences, as can be analyzed using certain disclosed methods and apparatus.
  • FIG. 6 is a diagram of a long short-term memory RNN, as can be used in certain examples of the disclosed technology.
  • FIG. 7 is a diagram illustrating an example of a gated recurrent unit RNN, as can be used in certain examples of the disclosed technology.
  • FIGS. 8A and 8B are depictions of a joint image/text context vector, as can be disclosed in certain examples of the disclosed technology.
  • FIG. 9 is a diagram illustrating an example computing environment in which certain examples of the disclosed technology can be implemented.
  • FIGS. 10-18 illustrate examples of annotation generations generated using an example of the disclosed technology compared to annotations provided by a human radiologist.
  • Coupled encompasses mechanical, electrical, magnetic, optical, as well as other practical ways of coupling or linking items together, and does not exclude the presence of intermediate elements between the coupled items.
  • and/or means any one item or combination of items in the phrase.
  • Any of the disclosed methods can be implemented as computer-executable instructions stored on one or more computer-readable media (e.g. , computer-readable media, such as one or more optical media discs, volatile memory components (such as DRAM or SRAM), or nonvolatile memory components (such as hard drives)) and executed on a computer (e.g. , any commercially available computer, including smart phones or other mobile devices that include computing hardware).
  • a computer e.g. , any commercially available computer, including smart phones or other mobile devices that include computing hardware.
  • Any of the computer-executable instructions for implementing the disclosed techniques, as well as any data created and used during implementation of the disclosed embodiments can be stored on one or more computer-readable media (e.g. , computer-readable storage media).
  • the computer-executable instructions can be part of, for example, a dedicated software application or a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application).
  • Such software can be executed, for example, on a single local computer (e.g. , with a general -purpose and/or graphics processors executing on any suitable commercially available computer) or in a network
  • any of the software-based embodiments (comprising, for example, computer- executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed through a suitable communication means.
  • suitable communication means include, for example, the Internet, the World Wide Web, an intranet, software applications, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication means.
  • CNNs and RNNs can be used to automatically annotate chest x-rays with pathologies or diseases along with describing context(s) of a disease, for example, data indicating: location, severity, and/or affected organs.
  • a collection of radiology images and associated annotation stored in a picture archiving and communication system (PACS) system is used.
  • PACS picture archiving and communication system
  • a publicly- available radiology dataset containing chest x-ray images and reports published on the Web as a part of the Openl open source literature and biomedical image collections can be used to supplement, or instead of, data stored in a proprietary PACS database.
  • CNN training In order to circumvent the normal- vs -diseased cases bias, various regularization techniques can be applied to CNN training, such as data dropout and batch normalization.
  • a pattern mining approach is used to assign a disease label to an image.
  • Disclosed image caption generation methods are applied to annotate the rest of the content of a chest x-ray image, for example, disease location, size, severity, etc. This can be conducted using recurrent neural networks (RNNs) to annotate any possible additional diseases and describe their contexts, based on the convolutional neural network (CNN) image encodings (or embeddings).
  • CNN convolutional neural network
  • CNN models are trained with one disease label per chest x-ray inferred from image annotations, for example, "calcified granuloma,” or “cardiomegaly.”
  • calcified granuloma or “cardiomegaly.”
  • single disease labels do not fully account for the context of a disease. For instance, “calcified granuloma in right upper lobe” will be labeled the same as the “small calcified granuloma in left lung base” or “multiple calcified granuloma.”
  • the trained RNNs can be employed to obtain the context of annotations, and recurrently used to infer the image labels with contexts as attributes.
  • the CNNs are re-trained with the obtained joint image/text contexts and used to generate annotations based on the new CNN features. For example, images with "calcified granuloma in right upper lobe" and "small calcified granuloma in left lung base” will be assigned different labels.
  • the CNNs can be re-trained using the newly-assigned labels. With this recurrent feedback model, image/text contexts are taken into account for CNN training to generate improved, more accurate image annotations.
  • FIG. 1 is a block diagram 100 that outlines an example computing system that can be used to perform image analysis in some examples of the disclosed technology.
  • the illustrated system can be used to perform image classification using a database of x-ray images that are each associated with text annotations that describe pathologies, or the lack of pathologies, exhibited in the respective image.
  • the image annotations can be encoded according a standardized collection of terms (e.g., MeSH (medical subject headings)) and formal regulations (e.g. according to a grammar describing how attributes are listed, similar to human languages). Human readers should be able to infer from such annotations and understand where a disease is in the image, how severe it is, which organ is affected, etc.
  • Such annotations can be generated by a radiologist for each image or from an already existing radiology report using a system to summarize it to a collection of standardized terms with pre-defined regulations. Such annotations can be generated by a radiologist for each image.
  • new sample images can be annotated automatically based on neural learning performed with an existing dataset of image/annotation pairs.
  • a plurality of images 110 are collected and stored in an image database 115.
  • Each of the images includes an associated annotation sequence of a plurality of annotation sequences 120 describing each respective image.
  • the annotation sequence can include labels indicating a diagnosis, an organ, an indication of severity of the disorder, and/or a location of the disorder.
  • the words forming the annotation sequence can be arranged according to a predetermined order.
  • the annotation sequences are stored in a corresponding image annotation database 125.
  • the images 110 and annotations sequences 120 are stored in the same database.
  • a convolutional neural network (CNN) 130 is trained by applying images from the image database 115 and their corresponding image label, extracted from the annotation database 125.
  • suitable CNNs 130 that can be used to implement the trained neural network include, but are not limited to: network-in-network (NIN), AlexNet, and GoogLeNet architectures.
  • the CNN 130 can be trained using hundreds, thousands, hundreds of thousands, or more images, depending on availability of databases with suitable images and annotations. In some examples, image and annotation data is anonymized prior to training the CNN 130.
  • an input image 140 e.g.
  • an x-ray image), of one or more organs, including one or more unknown pathologies is provided as input to the CNN 130 producing a CNN embedding of the input image CNN(T) 145.
  • the output of the embedding CNN is applied to a recurrent neural network 150 to be trained using one or more images from the image database 115 and respective associated image annotations 125.
  • suitable recurrent neural networks (RNNs) include long short-term memory (LSTM) and gated recurrent unit (GRU) RNNs.
  • the RNN 150 is initialized by embedding the output of the initialized CNN(7) 145 as an updated state vector of the RNN and applying a first word of an annotation sequence, thus producing a new candidate state vector stored within the RNN.
  • a context vector can be produced by unrolling the RNN with an updated trained CNN embedding a new candidate state vector and a subsequent word of the annotation sequence.
  • N input words 155 are applied from the input annotation sequence, producing N output words and and the same number N of state vectors from the RNN 150 are provided to a mean-pooling circuit 160, where N represents the number of unrollings of the RNN network.
  • the mean-pooling circuit averages the state vector values. In other examples, the number of iterations of applying words of an annotation sequence to the RNN 150 is different.
  • the mean-pooling circuit 160 in turn collects values output from the state vectors from each iteration of the RNN 150.
  • image/text context vector 170 which can encode the existence of plural pathologies, their affected organs, severities, locations, and other pathology context data in a single vector.
  • the image/text context vector 170 can thus be used to provide generated annotations that describe one or more pathologies present in the input image 140.
  • the image/text joint context vector 170 is used to re-label input images.
  • image/text joint context vector is produced, a clustering technique (e.g. , £-means, or over- segmented £-means followed by Regularized Information Maximization (RIM)) is applied, and new labels are assigned to the images.
  • the image/text/joint context vector can be applied to retrain the CNN and/or RNN in an iterative process. After a satisfactory number of iterations, the neural network training converges and can be used for annotation sequence generation, producing the output words 159 that label the sample image. An example of such relabeling is discussed further below with respect to FIGS. 8 A and 8B.
  • the RNN 150 includes a single circuit or module implementing the sampling evaluation that is updated for each applied annotation sequence.
  • two or more similar circuits or modules implementing the RNN 150 can be provided in a pipeline, thereby improving throughput of the evaluated image data and annotated sequence.
  • FIG. 2 is a block diagram 200 outlining a further detailed example of a system that can be used to perform image analysis according to certain examples of the disclosed technology.
  • an input image / 210 is applied to a trained CNN 220 thereby producing an embedding CNN output CNN(7) 225.
  • This neural network output 225 is used to initialize a current state vector of an RNN.
  • the illustrated RNN is an LSTM, but in other examples, other types of RNNs can be used (e.g. , a GRU).
  • the memory cell can be updated using, for example, a sigmoid function.
  • the output of the updated memory content is stored in a memory as an updated candidate state
  • the output of the new candidate state is combined at least in part with the current state using a forget gate to update the CNN state of the current iteration of the RNN.
  • the resulting output word (OUT W ord2 240) is provided as shown.
  • the updated current state of the RNN 250 is provided as input to a mean pooling circuit 260.
  • the RNN is "unrolled" by iterating computation of the RNN for each annotation word in a given sequence, where their state- vectors are being updated for each iteration.
  • the input annotation word is updated for each iteration (e.g. , input words 230, 231, and 239).
  • the RNN 250 is unrolled by iterating the same circuit or module, while in other examples, the RNN circuit or module can be duplicated thereby providing pipelined output.
  • the updated state vectors are provided from each RNN 250, 251, and 259 to the mean pooling circuit 260.
  • the mean pooling circuit 260 in turn averages the received state to produce a joint image/text context vector Hi m: text 270.
  • Each of the output words 240, 241, and 249 can be used to describe the input image 210.
  • FIG. 3 is a diagram 300 outlining an example convolutional neural network (CNN), as can be used in certain examples of the disclosed technology.
  • CNN convolutional neural network
  • the illustrated neural network can be implemented using one or more general-purpose microprocessors.
  • the illustrated neural network can be implemented using acceleration provided by graphics process units (GPU), field programmable gate arrays (FPGA), or other suitable acceleration technology.
  • the illustrated neural network 310 of FIG. 3 can be deemed a network-in- network (NIN) topology.
  • other neural network architectures can be employed, including AlexNet, GoogLeNet, or other suitable architectures.
  • an input image 320 selected according to the disclosed technologies is input to the NIN neural network 310, which includes a number of multilayer perceptron (MLP) convolutional layers 330, 331, and 332, and a global average pooling layer or fully connected layer 340.
  • MLP multilayer perceptron
  • Use of multilayer perceptrons is compatible with the structure of convolutional neural networks and can be trained using back-propagation.
  • the multilayer perceptron can be a deep model itself. In the illustrated example, the calculation performed by a multilayer perceptron layer is shown as follows:
  • is the number of layers in the multilayer perceptron.
  • a rectified linear unit is used as the activation function in the multilayer perceptron. From a cross-channel pooling point of view, this calculation is equivalent to a cascaded cross-channel parametric pooling on a normal convolution layer. Each pooling layer performs weighted linear recombination on the input feature maps, which then go through a rectifier linear unit. The cross-channel pooled feature maps are cross channel pooled repeatedly in the next layers. This cascaded cross-channel parametric pooling structure allows for complex and learnable interactions of cross channel information.
  • FIG. 4 is a flowchart 400 outlining an example method of generating an output annotation sequence describing an input image, as can be performed in certain examples in the disclosed technology.
  • the system described above regarding FIG. 1 can be used to perform the illustrated method, although other suitable systems can be adapted to perform the illustrated method.
  • a CNN is trained with a plurality of images and associated annotations. For example, a plurality of x-ray images that have been annotated with an annotation sequence describing pathologies in the image can be used. In some examples, some of the image annotations include the annotation normal, indicating that no pathology is present.
  • a recurrent neural network is trained by initializing the RNN with a trained CNN embedding, and unrolled over one or more words of an annotation sequence.
  • Memory or other state elements within the RNN are used to store state vectors providing memory between iterations, or un-rollings, of the RNN.
  • suitable RNNs include LSTMS and GRUs, but as can be readily understood to one of ordinary skill in the relevant art, other suitable RNNs can be used.
  • the trained CNN is sampled by applying an input image as input to the CNN that was trained at process block 420.
  • the output layer of the CNN is used as the sample output, while in other examples, internal nodes, or internal and output nodes are used as the sampling output.
  • the RNN that was trained at process block 420 is initialed by embedding the sampled output from the initialized CNN that was produced at process block 430.
  • the output of the initialized CNN is used as an updated state vector and a first word of an annotation sequence is applied as input to the RNN.
  • Gating logic within the RNN can be used to update memory elements to perform, producing an updated state vector h.
  • a context vector is produced by un-rolling the RNN starting with the CNN image embedding as the initial state vector, for a subsequent word of the annotation sequence.
  • the RNN can be unrolled and the embedding values in the CNN can be averaged by a mean pooling circuit.
  • the mean pooling circuit combines values from the progressively changing state vectors of RNN (starting from the CNN image embedding as the initialization) to produce the context vector (hm-. ⁇ )-
  • the mean pooling circuit combines the values from the state vectors by computing the mean of all the state vectors.
  • the image/text joint context vectors generated at process block 460 are used to prepare data for retraining the CNN and/or the RNN.
  • clustering is applied to the vectors and new labels are assigned to the images based on the clustering.
  • the method then proceeds to process block 410 and 420 to re-train the CNN with the newly assigned image labels, and retrain the RNN with the new CNN embedding, respectively.
  • This iterative process can repeat a number of times, including performance of the clustering and image labeling at process block 460.
  • the method proceeds to process block 470.
  • an output annotation sequence is generated describing the input image using the context vector that was produced at process block 450.
  • the output annotation sequence can include a description of a pathology, the affected organ, a level of severity, and a location, in which the described pathology is located within the input image.
  • process blocks can be re-executed using different input annotation sequences in order to determine different context vectors.
  • the produced context vectors can describe more than one pathology for the same input image.
  • FIG. 5 is a diagram 500 illustrating an example of an input image 510 and associated inputs 520, including a report and annotations that have been generated by a trained radiologist that can be obtained from the Openl collection.
  • the pathologies of the input image 510 are described using two different annotation sequences: the first being "pulmonary atelectasis / lingula / focal," and the second being “calcinosis / lung / hilum / right.”
  • the annotation sequence is encoded using a standard MeSH format.
  • FIG. 6 is a diagram 600 illustrating a simplified representation of an RNN suitable for use with certain examples of the disclosed technology.
  • the RNN is a long short-term memory.
  • the LSTM unit maintains a memory that is changed over time.
  • the output, or activation of the LSTM unit can be computed as a function of the stored memory values.
  • each output element H can be computed by applying an output gate 610 that modulates the amount that the memory content is exposed on the output.
  • An intermediate function for example a sigmoid or hyperbolic tangent, can be applied to values stored in the corresponding memory cell.
  • the memory cell can then be updated at a next time unit by partially forgetting the existing memory value and adding new memory content through the input.
  • the extent to which the existing memory is forgotten can be modulated by a forget gate 620 and the degree to which the new content is added to the memory cell can be modulated by an input gate 630.
  • Gates can be computed using a matrix function. Any form of suitable memory (e.g. , latches, flip-flops, registers, addressable memories implemented with dynamic RAM (included embedded DRAM), static RAM, memristors) can be used to store data for the state vector h 640 and the new state vector h 650.
  • a general-purpose processor, a co-processor (e.g., a GPU or neural network chip), an FPGA, or a system-on-chip (SoC) including such memory or coupled to such a memory can be adapted to provide the illustrated LSTM RNN.
  • the LSTM unit is able to decide whether to keep the existing memory values via the introduced gates. Thus, if the LSTM unit detects an important feature from an input sequence from an early stage, it can easily carry this information (e.g. , the existence of the feature itself) for a long distance, hence capturing potential long distance dependencies.
  • the LSTM unit can be used in several different applications, including speech recognition, sequence generation, machine translation, and image caption generation.
  • speech recognition e.g., speech recognition
  • sequence generation e.g., sequence generation
  • machine translation e.g., machine translation
  • image caption generation e.g., image caption generation
  • W is a matrix of trained parameters (weights), and ⁇ is the logistic sigmoid function. ⁇ represents the product of a vector with a gate value.
  • FIG. 7 is a diagram 700 outlining an example of a different time of RNN, a gated recurrent unit (GRU).
  • the GRU allows each recurrent unit of the RNN to adaptively capture dependencies of different time scales.
  • the GRU is similar to the LSTM unit in that there are gating units (e.g. , a reset gate 710 and an update gate 720 used to modulate the flow of information inside the unit.
  • the GRU differs from the LSTM in that it does not have separate memory cells besides the current state h 730 and the candidate state h 740. Any form of suitable memory (e.g.
  • latches, flip-flops, registers, addressable memories implemented with dynamic RAM (included embedded DRAM), static RAM, memristors) can be used to store data for the current and candidate state, general-purpose processor, a co-processor (e.g., a GPU or neural network chip), an FPGA, or a system-on-chip (SoC) including such memory or coupled to such a memory can be adapted to provide the illustrated GRU RNN.
  • LSTM Long Short-Term Memory
  • GRU Gated Recurrent Unit
  • the described procedure of taking a linear sum between an existing state and a newly computed state is similar in some fashion to the LSTM unit.
  • the GRU RNN does not have any mechanism to control the degree to which its state is exposed, but exposes the state the whole time that the RNN is evaluated.
  • these types of RNNs include an additive component when updating from time t to time i+1 that is not found in certain other types of RNNs.
  • these types of RNNs keep existing content and add/combine new content with the existing content. This allows for each RNN unit to remember the existence of a specific feature in the input stream for a long series of steps. Thus, certain important features, as determined by a forget gate or an update gate, will not be overwritten.
  • this addition allows for the creation of shortcut paths that can bypass multiple temporal steps. This can allow for errors to be back propagated easily without vanishing too quickly as a result of passing through multiple bounded non-linearities, thereby reducing difficulties cause by multiple gradients.
  • FIG. 8A depicts 800 a joint image/context vector describing a calcified granuloma.
  • FIG. 8B depicts 810 a joint image/context vector describing opacity.
  • Dimension reduction from a 1,024 dimensional domain to a two-dimensional domain can be performed using t-SNE to visualize the 1 ,024 dimensional vectors on the two-dimensional space.
  • Each of the word sequences represent annotation pairing with an image. All of the cases in FIG. 8A were previously labeled as “calcified granuloma" when training the CNN (in the first phase). After a first-stage RNN training and generating the joint image/text context vector, a clustering technique is applied to these vectors such that images annotated with "multiple calcified granuloma in the lower lobe of lung (top)" and "small calcified granuloma in the right upper lobe” are given different labels when training CNN. Thus, the CNN learns to distinguish these differences of disease appearances (contexts) in the second phase of CNN training. The RNN is trained again using this CNN embedding trained from the second phase, and improved annotations will be generated when given a new image. Thus, annotations describing the same disease can be divided into different labels based on their joint image/text context.
  • FIG. 9 illustrates a generalized example of a suitable computing environment 900 in which described embodiments, techniques, and technologies, including image analysis using CNNs and RNNs, can be implemented.
  • the computing environment 900 can implement disclosed techniques for analyzing images by repeatedly applying a sequence of input words using an RNN, as described herein.
  • the computing environment 900 is not intended to suggest any limitation as to scope of use or functionality of the technology, as the technology may be implemented in diverse general- purpose or special-purpose computing environments.
  • the disclosed technology may be implemented with other computer system configurations, including hand held devices, multiprocessor systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
  • the disclosed technology may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • the computing environment 900 includes at least one processing unit 910 and memory 920.
  • the processing unit 910 executes computer-executable instructions and may be a real or a virtual processor. In a multi-processing system, multiple processing units execute computer- executable instructions to increase processing power and as such, multiple processors can be running simultaneously.
  • the memory 920 may be volatile memory (e.g. , registers, cache, RAM), non-volatile memory (e.g. , ROM, EEPROM, flash memory, etc.), or some combination of the two.
  • the memory 920 stores software 980, images, and video that can, for example, implement the technologies described herein.
  • a computing environment may have additional features.
  • one or more co-processing units 915 or accelerators including graphics processing units (GPUs), can be used to accelerate certain functions, including implementation of CNNs and RNNs.
  • the computing environment 900 may also include storage 940, one or more input device(s) 950, one or more output device(s) 960, and one or more communication connection(s) 970.
  • An interconnection mechanism such as a bus, a controller, or a network, interconnects the components of the computing environment 900.
  • operating system software (not shown) provides an operating environment for other software executing in the computing environment 900, and coordinates activities of the components of the computing environment 900.
  • the storage 940 may be removable or non-removable, and includes magnetic disks, magnetic tapes or cassettes, CD-ROMs, CD-RWs, DVDs, or any other medium which can be used to store information and that can be accessed within the computing environment 900.
  • the storage 940 stores instructions for the software 980, image data, and annotation data, which can be used to implement technologies described herein.
  • the input device(s) 950 may be a touch input device, such as a keyboard, keypad, mouse, touch screen display, pen, or trackball, a voice input device, a scanning device, or another device, that provides input to the computing environment 900.
  • the input device(s) 950 may be a sound card or similar device that accepts audio input in analog or digital form, or a CD-ROM reader that provides audio samples to the computing environment 900.
  • the output device(s) 960 may be a display, printer, speaker, CD-writer, or another device that provides output from the computing environment 900.
  • the communication connection(s) 970 enable communication over a communication medium (e.g. , a connecting network) to another computing entity.
  • the communication medium conveys information such as computer-executable instructions, compressed graphics information, video, or other data in a modulated data signal.
  • the communication connection(s) 970 are not limited to wired connections (e.g. , megabit or gigabit Ethernet, Infiniband, Fibre Channel over electrical or fiber optic connections) but also include wireless technologies (e.g. , RF connections via Bluetooth, WiFi (IEEE 802.11a/b/n), WiMax, cellular, satellite, laser, infrared) and other suitable communication connections for providing a network connection for the disclosed methods.
  • the communication(s) connections can be a virtualized network connection provided by the virtual host.
  • Some embodiments of the disclosed methods can be performed using computer-executable instructions implementing all or a portion of the disclosed technology in a computing cloud 990.
  • disclosed compilers and/or processor servers are located in the computing
  • Computer-readable media are any available media that can be accessed within a computing environment 900.
  • computer-readable media include memory 920 and/or storage 940.
  • computer-readable storage media includes the media for data storage such as memory 920 and storage 940, and not transmission media such as modulated data signals.
  • Example image analysis results (e.g. , text annotations describing a medical image) are disclosed in the section, as can be performed in certain examples of the disclosed technology.
  • Example image analysis results e.g. , text annotations describing a medical image
  • FIGS. 1-4 and 9 can be adapted to provide the disclosed analysis results.
  • the technologies described above can be modified to suit particular datasets, computing environments, and performance requirements.
  • a publicly available radiology dataset of chest x-rays and reports is used that is a subset of the Openl open source literature and biomedical image collections.
  • An example of this radiology database contains 3,955 radiology reports from the Indiana Network for Patient Care, and 7,470 associated chest x-rays from the hospitals' picture archiving systems.
  • the dataset is fully anonymized via an aggressive anonymization scheme, which achieved 90% precision in de- identification. However, a few findings are rendered uninterpretable. An example case of the dataset is shown in FIG. 5.
  • the data in the reports can be structured as comparison, indication, findings, and impression sections, in line with a common radiology reporting format for diagnostic chest x-rays.
  • a common radiology reporting format for diagnostic chest x-rays.
  • a word possibly indicating a disease was falsely detected as a personal information, and was thereby "anonymized" as "XXXX.”
  • radiology reports contain comprehensive information about the image and the patient, they may also contain information that cannot be inferred from the image content. For instance, in the example shown in FIG. 5, it is probably impossible to determine that the image is of a Burmese male.
  • MeSH Medical Subject Headings
  • the CNN-RNN based image caption generation approaches uses a well-trained CNN to encode input images effectively. Unlike natural images that can simply be encoded by ImageNet- trained CNNs, medical images such as chest x-rays differ significantly from natural ImageNet images. A number of frequent annotation patterns are sampled with less overlaps for each image, in order to assign image labels to each chest x-ray image and train with cross-entropy criteria.
  • the thirteen most frequent MeSH terms appear over 180 times, and the table further includes the number of the terms mentioned with other terms (overlap) in an image and their associated percentages.
  • the aforementioned seventeen unique disease annotation patterns (in Table 1, and scoliosis, osteophyte, spondylosis, fractures/bone) are used to label the images and train CNNs.
  • Table 1 The adaptability of ImageNet-trained CNN features, as adopted using various regularization techniques to deal with the normal- vs-diseased cases bias is illustrated.
  • the simple yet effective Network-In-Network (NIN) model can be used, as the model is small in size, fast to train, and achieves similar or better performance to other neural models (e.g. , the AlexNet model). Results are compared to a more complex CNN model, the GoogLeNet neural network.
  • Table 2 provides data on training and validation accuracy of NIN model fine-tuned from
  • ImageNet-trained CNN and trained from random initialization are examples of ImageNet-trained CNN and trained from random initialization.
  • Training deep neural networks can be complicated because the distribution of each layer's inputs changes during training.
  • One way to address this is to slow down the training by requiring lower learning rates and careful parameter initialization.
  • normalization is less successful in models that have saturating nonlinearities— internal covariate shift.
  • This issue can be addressed by normalizing layer inputs.
  • normalization is a part of the model architecture, and is performed for each mini-batch. Such batch normalization allows the use of much higher learning rates and reduces the importance of selecting initialization values.
  • batch normalization can eliminate the use of dropout.
  • Image analysis can be further improved by utilizing a data dropout technique.
  • Data dropout and batch normalization can each be performed during training.
  • each image of a diseased case is augmented at least four times, and normal cases are randomly picked to match four times (due to the augmentation) the number of total diseased cases in a mini- batch.
  • training a CNN only for one epoch, it is likely that not all normal cases are seen because they are randomly picked during training. However, all the normal cases are likely to be seen (accounted for training) when training the CNN for many epochs (the chances are higher most of them are picked for when forming a mini-batch, when the training procedure is iterated a relatively large number of times).
  • Table 3 includes data on the training and validation accuracy of a NIN model with batch- normalization, data-dropout, and both batch-normalization and data-dropout. Diseased cases are very limited compared to normal cases, leading to overfitting, even with regularizations.
  • Table 4 provides training and validation accuracy of GoogLeNet model with batch- normalization, data-dropout, and without cropping the images for data augmentation.
  • the number of standardized terms (in this example, MeSH terms) describing diseases ranges from 1 to 8 (except normal, which is one word), with a mean of 2.56 and standard deviation of 1.36.
  • the majority of descriptions contain up to five words. Since only nine cases have images with descriptions longer than six words, these cases are ignored by constraining the RNNs to unroll up to five time steps. Annotations with less than five words are zero-padded with the end-of-sentence token used to fill in the five-word space.
  • LSTM Long Short-Term Memory
  • GRU Gated Recurrent Unit
  • FIGS. 6 and 7 simplified illustrations of LSTM and GRU RNNs used are shown in FIGS. 6 and 7, respectively.
  • the parameters of the gates in LSTM and GRU decide whether to update their current state h to the new candidate state h, where these states are learned from the previous input sequences (for example, a previous iteration of evaluating the RNN, or from an initialized CNN).
  • the initial state of RNNs is set as the CNN image embedding (CNN(/)), and the first annotation word /Nwordi as the initial input. See FIG. 2.
  • the NIN and GoogLeNet models replace the fully-connected layers with average-pooling layers.
  • the output of the last spatial average-pooling layer is used as the image embedding to initialize the RNN state vectors.
  • the size of RNN state vectors used in to generate the example results are which is identical to the output size of the average-pooling layers from NIN and
  • the RNN state vectors are initialized with the CNN image embedding
  • the CNN prediction of the input image is used as the first word as the
  • images are normalized by the batch statistics before being fed to the CNN.
  • the annotation generation was evaluated using a calculated bilingual evaluation understudy (BLEU) score averaged over all of the images and their annotations in the training, validation, and test set.
  • the BLEU scores evaluated are provided below in Table 5.
  • the BLEU-N scores are evaluated for cases with > N words in the annotations, using the implementation of [4].
  • the LSTM RNN was easier to train, while the example GRU RNN model yields better results with more carefully selected hyper-parameters. Thus, while it is difficult to conclude which model is better, the GRU model seems to achieve higher scores on average.
  • Table 5 provides BLEU scores validated on the training, validation, test set, using LSTM and GRU RNN models for the sequence generation.
  • the CNN models are trained with disease labels only where the context of diseases are not considered.
  • the same calcified granuloma label is assigned to all image cases that actually may describe the disease differently in a finer semantic level, such as "calcified granuloma in right upper lobe,” “small calcified granuloma in left lung base,” and “multiple calcified granuloma.”
  • the RNNs encode the text annotation sequences given the CNN embedding of the image the annotation is describing.
  • the already-trained CNN and RNN are used to infer better image labels, integrating the contexts of the image annotations beyond just the name of the disease. This is achieved by generating joint image/text context vectors that are computed by applying mean-pooling on the state vectors (h) of RNN at each iteration over the annotation sequence.
  • the state vector of RNN is initialized with the CNN image embeddings (CNN(/)), and the RNN is unrolled over the annotation sequence, taking each word of the annotation as input. The procedure used is discussed above regarding FIG. 2, and the RNNs share the same parameters.
  • the obtained joint image/text context vector encodes the image context as well as
  • granuloma and opacity are projected onto two-dimensional planes via dimensionality reduction using a t-distributed stochastic neighbor embedding (t-SNE) implementation.
  • t-SNE stochastic neighbor embedding
  • new image labels are obtained by taking disease context into account.
  • the disease annotation is not limited to mostly describing a single disease.
  • the joint image/text context vector summarizes both the image's context and word sequence, so that annotations such as "calcified granuloma in right upper lobe,” “small calcified granuloma in left lung base,” and “multiple calcified granuloma” have different vectors based on their contexts.
  • the disease labels used with unique annotation patterns can now have more cases, as cases with a disease described by different annotation words are no longer filtered out.
  • cases with a disease described by different annotation words are no longer filtered out.
  • calcified granuloma previously had only 139 cases because cases with multiple diseases mentioned or with long description sequences were filtered out.
  • Using the joint image/text context vector cases are associated with calcified granuloma.
  • opacity now
  • the average number of cases of all first-mentioned disease labels has is 83.89, with a standard deviation of 86.07, a maximum of 414 (calcified granuloma), and a minimum of 18 (emphysema).
  • the CNN is trained once more with the additional labels (57, compared to 17 used above), training the RNN with the new CNN image embedding, and finally generate image annotations.
  • the new RNN training cost function (compared to Equation 2) can be expressed as:
  • the final evaluated BLEU scores are provided below in Table 6. As shown, using the joint image/text context, better overall BLEU scores are achieved than those in Table 5. Also, slightly better BLEU scores are obtained using GRU on average, although overall better BLEU-1 scores are acquired using LSTM. Examples of generated annotations on the chest x-ray images are shown in a number of images 1000 in FIG. 10. Each of the images includes a photograph of an input image (e.g. , input image 1010), text annotation for the "true annotation" generated by a radiologist (e.g. , true annotation 1012), and text annotation generated according to the disclosed technology (e.g. , generated annotation 1014), positioned above the true annotation.
  • an input image e.g. , input image 1010
  • text annotation for the "true annotation” generated by a radiologist e.g. , true annotation 1012
  • text annotation generated according to the disclosed technology e.g. , generated annotation 1014
  • FIGS. 11-18 illustrate additional examples of annotations generated for x-ray images (1100, 1200, 1300, 1400, 1500, 1600, 1700, and 1800) according to the disclosed techniques, including the use of a joint image/context vector.
  • Table 6 provides BLEU scores validated on the training, validation, test set, using LSTM and GRU RNN models trained on the first iteration for the sequence generation.
  • FIGS. 15-18 More annotation generation examples are provided in FIGS. 15-18.
  • the system generates promising results on predicting disease (labels) and its context (attributes) in the images.
  • rare disease cases are more difficult to detect.
  • the cases pulmonary atelectasis, spondylosis, and density (FIGS. 15 and 16), as well as foreign bodies, atherosclerosis, costophrenic angle, and deformity (FIGS. 17 and 18) are much rarer in the data than calcified granuloma, cardiomegaly, and all the frequent cases listed above in Table 1.
  • prediction accuracy can be improved by both (a) accounting for different views of the same patient/condition, and (b) collecting a larger dataset to better account for rare diseases.

Abstract

A deep learning model is provided to efficiently detect disease from an image (e.g., an x-ray image) and annotate its contexts. In one example of the disclosed technology, a method of generating an annotation sequence describing an input image includes training a convolutional neural network (CNN) with a series of reference images and associated annotation sequences, training a recurrent neural network (RNN) by initializing the RNN with the trained CNN embedding of the reference image and a first word of an annotation sequence, sampling the CNN and RNN with a reference image, and producing a sequence of annotation describing the image, disease(s) in the image, one or more attributes or contexts. In one examples of the disclosed technology, mean pooling is applied to the state vectors of RNN to obtain a joint image/text context vector summarizing the contexts of image and text annotation.

Description

RECURRENT NEURAL FEEDBACK MODEL FOR
AUTOMATED IMAGE ANNOTATION
CROSS REFERENCE TO RELATED APPLICATION
[001] This application claims the benefit of and priority to U.S. Provisional Application No. 62/302,084, filed March 1, 2016, which application is incorporated by reference in its entirety.
ACKNOWLEDGMENT OF GOVERNMENT SUPPORT
[002] This invention was made with government support under contract no.
HHSN263200900026I awarded by the National Institutes of Health. The government has certain rights in the invention.
SUMMARY
[003] Methods and apparatus are disclosed for machine learning using neural networks to analyze medical image text reports and generating annotations for medical images describing diseases and their contexts. Providing a description of a medical image's content similar to how a radiologist would describe an image can have a great impact. A person can better understand a disease in an image if it is presented with its context, e.g. , where the disease is, how severe it is, and which organ is affected. Furthermore, a large collection of medical images can be automatically annotated with the disease context and the images can be retrieved based on their context, with natural language queries such as "find me images with pulmonary disease in the upper right lobe."
[004] A deep learning model is provided to efficiently detect disease from an image (e.g. , an x-ray image) and annotate its contexts. In one example of the disclosed technology, a method of generating an annotation sequence describing an input image includes training a convolutional neural network (CNN) with a series of reference images and associated annotation sequences, training a recurrent neural network (RNN) by initializing the RNN with the trained CNN embedding of the reference image and a first word of an annotation sequence, sampling the CNN and RNN with a reference image, and producing a sequence of annotation describing the image, disease(s) in the image, one or more attributes or contexts. In some examples of the disclosed technology, mean pooling is applied to the state vectors of RNN to obtain a joint image/text context vector summarizing the contexts of image and text annotation. In one example, a clustering technique is applied to the obtained joint image/text context vector to assign more precise labels to the image taking the context into account. Training the CNN and RNN again with these more precise labels leads to generating more accurate annotations for a new unseen image. In some examples, images are selected for training the neural networks by adjusting the ratio of normal to diseased images. In some examples, the image training set is augmented by training the neural networks with randomly cropped versions of the training images, whereby images of normal cases are randomly selected to balance the number of diseased-to-normal cases during training.
[005] In some examples of the disclosed technology, a deep learning model is provided to efficiently detect diseases from an image (e.g. , an x-ray, magnetic resonance image, computerized axial tomography, or acoustic ultrasound scan of mammals including humans) and annotate its contexts (e.g. , location, severity level, and/or affected organs). In some examples, image annotations from a radiology dataset of medical images and associated reports are used to mine disease names to train convolutional neural networks (CNNs). In some examples, ImageNet- trained CNN features and regularization techniques are used to circumvent large normal- vs- diseased cases bias. In some examples, recurrent neural networks (RNNs) are then trained to describe contexts of a detected disease, based on deep CNN features. In some examples, feedback from an already-trained pair of CNN/RNNs is used with the domain- specific image/text dataset to infer joint image/text contexts for composite image labeling. Thus, in some examples, significantly improved image annotation results are demonstrated using a recurrent neural feedback model by taking joint image/text contexts into account.
[006] Methods and apparatus are disclosed for using a deep learning model to effectively and efficiently detect pathologies from an image and annotate its context (e.g. , pathology, organ, location, and severity of the detected pathology). In certain examples, a radiology database of chest x-rays and associated image annotations are used to mine disease names to train CNNs. RNNs are then trained to describe the context of a detected disease or pathology, building on top of the deep CNN features. Further, feedback from a previously-trained pair of CNNs and RNNs with a domain-specific image/text dataset can be used to infer joint image/text context that can be used for composite image labeling. Thus, image annotation results for images such as x-rays and other medical images can be produces using an RNN feedback model that takes into account joint image/text contextual information.
[007] In some examples of the disclosed technology, a method of generating an annotation sequence describing an input image includes training a CNN by applying a reference image and an associated annotation sequence as input to the CNN. The associated annotation sequence indicates diagnosis of each respective reference image. The method further includes training an RNN by initializing the RNN with the trained CNN embedding of the reference image and a first word of an annotation sequence, thus producing a first RNN state vector. The trained CNN can be sampled by applying an input image as input to the CNN, thereby producing a CNN embedding of the input image. The trained RNN can then be initialized by the CNN image embedding as the state vector of the RNN. A context vector can be produced by "unrolling" the RNN with the trained CNN embedding initialization and a sequence of words of the annotation sequence and, by averaging (mean pooling) the state vectors of RNNs in each unrolled state. The produced context vector summarizes the input image as well as the associated text annotation.
[008] In some examples, training data sets can be improved by normalizing the ratio of normal to diseased images used to train the CNNs and/or RNNs. In some examples, diseased images are augmented with randomly- selected, cropped portions of the image before training the CNNs and/or RNNs a number of times.
[009] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Any trademarks used herein remain the property of their respective owners. The foregoing and other objects, features, and advantages of the disclosed subject matter will become more apparent from the following detailed description, which proceeds with reference to the accompanying figures.
BRIEF DESCRIPTION OF THE DRAWINGS
[010] FTG. 1 is a block diagram outlining an example system for performing image analysis, as can be used in certain examples of the disclosed technology.
[011] FTG. 2 is a diagram illustrating the use of neural networks to produce a context vector, as can be used in certain examples of the disclosed technology.
[012] FIG. 3 illustrates an example convolutional neural network, as can be used in certain examples of the disclosed technology.
[013] FIG. 4 is a flowchart outlining an example method of producing a joint text/image context vector, as can be performed in certain examples of the disclosed technology.
[014] FIG. 5 illustrates an x-ray image and associated annotation text sequences, as can be analyzed using certain disclosed methods and apparatus. [015] FIG. 6 is a diagram of a long short-term memory RNN, as can be used in certain examples of the disclosed technology.
[016] FIG. 7 is a diagram illustrating an example of a gated recurrent unit RNN, as can be used in certain examples of the disclosed technology.
[017] FIGS. 8A and 8B are depictions of a joint image/text context vector, as can be disclosed in certain examples of the disclosed technology.
[018] FIG. 9 is a diagram illustrating an example computing environment in which certain examples of the disclosed technology can be implemented.
[019] FIGS. 10-18 illustrate examples of annotation generations generated using an example of the disclosed technology compared to annotations provided by a human radiologist.
DETAILED DESCRIPTION
I. General Considerations
[020] This disclosure is set forth in the context of representative embodiments that are not intended to be limiting in any way.
[021] As used in this application the singular forms "a," "an," and "the" include the plural forms unless the context clearly dictates otherwise. Additionally, the term "includes" means
"comprises." Further, the term "coupled" encompasses mechanical, electrical, magnetic, optical, as well as other practical ways of coupling or linking items together, and does not exclude the presence of intermediate elements between the coupled items. Furthermore, as used herein, the term "and/or" means any one item or combination of items in the phrase.
[022] The systems, methods, and apparatus described herein should not be construed as being limiting in any way. Instead, this disclosure is directed toward all novel and non-obvious features and aspects of the various disclosed embodiments, alone and in various combinations and subcombinations with one another. The disclosed systems, methods, and apparatus are not limited to any specific aspect or feature or combinations thereof, nor do the disclosed things and methods require that any one or more specific advantages be present or problems be solved. Furthermore, any features or aspects of the disclosed embodiments can be used in various combinations and subcombinations with one another. [023] Although the operations of some of the disclosed methods are described in a particular, sequential order for convenient presentation, it should be understood that this manner of description encompasses rearrangement, unless a particular ordering is required by specific language set forth below. For example, operations described sequentially may in some cases be rearranged or performed concurrently. Moreover, for the sake of simplicity, the attached figures may not show the various ways in which the disclosed things and methods can be used in conjunction with other things and methods. Additionally, the description sometimes uses terms like "produce,"
"generate," "display," "receive," "train," "sample," "initialize," "embed," "execute," and "initiate" to describe the disclosed methods. These terms are high-level descriptions of the actual operations that are performed. The actual operations that correspond to these terms will vary depending on the particular implementation and are readily discernible by one of ordinary skill in the art.
[024] Theories of operation, scientific principles, or other theoretical descriptions presented herein in reference to the apparatus or methods of this disclosure have been provided for the purposes of better understanding and are not intended to be limiting in scope. The apparatus and methods in the appended claims are not limited to those apparatus and methods that function in the manner described by such theories of operation.
[025] Any of the disclosed methods can be implemented as computer-executable instructions stored on one or more computer-readable media (e.g. , computer-readable media, such as one or more optical media discs, volatile memory components (such as DRAM or SRAM), or nonvolatile memory components (such as hard drives)) and executed on a computer (e.g. , any commercially available computer, including smart phones or other mobile devices that include computing hardware). Any of the computer-executable instructions for implementing the disclosed techniques, as well as any data created and used during implementation of the disclosed embodiments, can be stored on one or more computer-readable media (e.g. , computer-readable storage media). The computer-executable instructions can be part of, for example, a dedicated software application or a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application). Such software can be executed, for example, on a single local computer (e.g. , with a general -purpose and/or graphics processors executing on any suitable commercially available computer) or in a network
environment (e.g. , via the Internet, a wide-area network, a local-area network, a client-server network (such as a cloud computing network), or other such network) using one or more network computers. [026] For clarity, only certain selected aspects of the software-based implementations are described. Other details that are well known in the art are omitted. For example, it should be understood that the disclosed technology is not limited to any specific computer language or program. For instance, the disclosed technology can be implemented by software written in C, C++, Java, or any other suitable programming language. Likewise, the disclosed technology is not limited to any particular computer or type of hardware. Certain details of suitable computers and hardware are well-known and need not be set forth in detail in this disclosure.
[027] Furthermore, any of the software-based embodiments (comprising, for example, computer- executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed through a suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web, an intranet, software applications, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, and infrared communications), electronic communications, or other such communication means.
II. Introduction to the Disclosed Technology
[028] Comprehensive image understanding typically requires more than single object classification. Automatic generation of image captions to describe image contents can be expanded to provide a more complete image understanding than classifying an image to a single object class. Image caption generation performance can be substantially improved with the use of improved databases (e.g. , an ImageNet database) and neural networks (e.g. , deep convolutional neural networks (CNNs), effectively learning to recognize the images with a large pool of hierarchical representations. Recurrent neural networks (RNNs) can be adapted using deep CNN features to generate image captions.
[029] Beyond general image recognition, automatic recognition and localization of specific diseases and organs can be performed, for example, using datasets where target objects are explicitly annotated. In some examples of the disclosed technology, CNNs and RNNs can be used to automatically annotate chest x-rays with pathologies or diseases along with describing context(s) of a disease, for example, data indicating: location, severity, and/or affected organs. In some examples, a collection of radiology images and associated annotation stored in a picture archiving and communication system (PACS) system is used. In other examples, a publicly- available radiology dataset containing chest x-ray images and reports published on the Web as a part of the Openl open source literature and biomedical image collections can be used to supplement, or instead of, data stored in a proprietary PACS database.
[030] Data bias is an issue in medical image analysis. When considering the whole population, diseased cases are typically much rarer than healthy cases, for example, in chest x-ray datasets. In one example dataset, normal cases account for 37% (2,696 images) of the entire dataset (7,284 images), compared to the most frequent disease case "opacity," which accounts for 12% (840 images), and the next frequent, "cardiomegaly," accounting for 9% (655 images). In addition, many diseases frequently appear in conjunction with others. For instance, 79% of "opacity" instances occur with other diseases and 75% of "cardiomegaly" instances co-exist with other diseases.
[031] In order to circumvent the normal- vs -diseased cases bias, various regularization techniques can be applied to CNN training, such as data dropout and batch normalization. To train CNNs with image labels, or to assign labels to the images to train CNNs with, a pattern mining approach is used to assign a disease label to an image. Disclosed image caption generation methods are applied to annotate the rest of the content of a chest x-ray image, for example, disease location, size, severity, etc. This can be conducted using recurrent neural networks (RNNs) to annotate any possible additional diseases and describe their contexts, based on the convolutional neural network (CNN) image encodings (or embeddings).
[032] In some examples, CNN models are trained with one disease label per chest x-ray inferred from image annotations, for example, "calcified granuloma," or "cardiomegaly." However, such single disease labels do not fully account for the context of a disease. For instance, "calcified granuloma in right upper lobe" will be labeled the same as the "small calcified granuloma in left lung base" or "multiple calcified granuloma."
[033] The trained RNNs can be employed to obtain the context of annotations, and recurrently used to infer the image labels with contexts as attributes. The CNNs are re-trained with the obtained joint image/text contexts and used to generate annotations based on the new CNN features. For example, images with "calcified granuloma in right upper lobe" and "small calcified granuloma in left lung base" will be assigned different labels. The CNNs can be re-trained using the newly-assigned labels. With this recurrent feedback model, image/text contexts are taken into account for CNN training to generate improved, more accurate image annotations. III. Example System for Performing Image Analysis and Annotation
[034] FIG. 1 is a block diagram 100 that outlines an example computing system that can be used to perform image analysis in some examples of the disclosed technology. For example, the illustrated system can be used to perform image classification using a database of x-ray images that are each associated with text annotations that describe pathologies, or the lack of pathologies, exhibited in the respective image. For example, the image annotations can be encoded according a standardized collection of terms (e.g., MeSH (medical subject headings)) and formal regulations (e.g. according to a grammar describing how attributes are listed, similar to human languages). Human readers should be able to infer from such annotations and understand where a disease is in the image, how severe it is, which organ is affected, etc. Such annotations can be generated by a radiologist for each image or from an already existing radiology report using a system to summarize it to a collection of standardized terms with pre-defined regulations. Such annotations can be generated by a radiologist for each image. Thus, new sample images can be annotated automatically based on neural learning performed with an existing dataset of image/annotation pairs.
[035] As shown in FIG. 1, a plurality of images 110 are collected and stored in an image database 115. Each of the images includes an associated annotation sequence of a plurality of annotation sequences 120 describing each respective image. For example, the annotation sequence can include labels indicating a diagnosis, an organ, an indication of severity of the disorder, and/or a location of the disorder. The words forming the annotation sequence can be arranged according to a predetermined order. The annotation sequences are stored in a corresponding image annotation database 125. In some examples, the images 110 and annotations sequences 120 are stored in the same database.
[036] As shown in FIG. 1, a convolutional neural network (CNN) 130 is trained by applying images from the image database 115 and their corresponding image label, extracted from the annotation database 125. Examples of suitable CNNs 130 that can be used to implement the trained neural network include, but are not limited to: network-in-network (NIN), AlexNet, and GoogLeNet architectures. The CNN 130 can be trained using hundreds, thousands, hundreds of thousands, or more images, depending on availability of databases with suitable images and annotations. In some examples, image and annotation data is anonymized prior to training the CNN 130. [037] Once the CNN 130 has been trained, an input image 140 (e.g. , an x-ray image), of one or more organs, including one or more unknown pathologies is provided as input to the CNN 130 producing a CNN embedding of the input image CNN(T) 145. The output of the embedding CNN is applied to a recurrent neural network 150 to be trained using one or more images from the image database 115 and respective associated image annotations 125. Examples of suitable recurrent neural networks (RNNs) that can be used include long short-term memory (LSTM) and gated recurrent unit (GRU) RNNs. The RNN 150 is initialized by embedding the output of the initialized CNN(7) 145 as an updated state vector of the RNN and applying a first word of an annotation sequence, thus producing a new candidate state vector stored within the RNN. A context vector can be produced by unrolling the RNN with an updated trained CNN embedding a new candidate state vector and a subsequent word of the annotation sequence. In the example shown, N input words 155 are applied from the input annotation sequence, producing N output words and and the same number N of state vectors from the RNN 150 are provided to a mean-pooling circuit 160, where N represents the number of unrollings of the RNN network. The mean-pooling circuit averages the state vector values. In other examples, the number of iterations of applying words of an annotation sequence to the RNN 150 is different. The mean-pooling circuit 160 in turn collects values output from the state vectors from each iteration of the RNN 150. This produces an image/text context vector 170, which can encode the existence of plural pathologies, their affected organs, severities, locations, and other pathology context data in a single vector. The image/text context vector 170 can thus be used to provide generated annotations that describe one or more pathologies present in the input image 140.
[038] The image/text joint context vector 170 is used to re-label input images. Once the
"image/text joint context vector" is produced, a clustering technique (e.g. , £-means, or over- segmented £-means followed by Regularized Information Maximization (RIM)) is applied, and new labels are assigned to the images. The image/text/joint context vector can be applied to retrain the CNN and/or RNN in an iterative process. After a satisfactory number of iterations, the neural network training converges and can be used for annotation sequence generation, producing the output words 159 that label the sample image. An example of such relabeling is discussed further below with respect to FIGS. 8 A and 8B.
[039] As will be readily understood to one of ordinary skill in the art having the benefit of the present disclosure, in some examples, the RNN 150 includes a single circuit or module implementing the sampling evaluation that is updated for each applied annotation sequence. In other examples, two or more similar circuits or modules implementing the RNN 150 can be provided in a pipeline, thereby improving throughput of the evaluated image data and annotated sequence.
IV. Example System for Image Analysis Using CNNs and RNNs
[040] FIG. 2 is a block diagram 200 outlining a further detailed example of a system that can be used to perform image analysis according to certain examples of the disclosed technology. As shown, an input image / 210 is applied to a trained CNN 220 thereby producing an embedding CNN output CNN(7) 225. This neural network output 225 is used to initialize a current state vector of an RNN. The illustrated RNN is an LSTM, but in other examples, other types of RNNs can be used (e.g. , a GRU). As will be discussed further below, the current state vector ht=i is applied to a memory cell that is updated in part to applying an input word (INwordi) with the output of the initialized The memory cell can be updated using, for example, a sigmoid function. The output of the updated memory content is stored in a memory as an updated candidate state
Figure imgf000011_0001
The output of the new candidate state is combined at least in part with the current state using a forget gate to update the CNN state of the current iteration of the RNN. The resulting output word (OUTWord2 240) is provided as shown. Further, the updated current state of the RNN 250 is provided as input to a mean pooling circuit 260. The RNN is "unrolled" by iterating computation of the RNN for each annotation word in a given sequence, where their state- vectors are being updated for each iteration. The input annotation word is updated for each iteration (e.g. , input words 230, 231, and 239). In some examples, the RNN 250 is unrolled by iterating the same circuit or module, while in other examples, the RNN circuit or module can be duplicated thereby providing pipelined output. As shown, the updated state vectors are provided from each RNN 250, 251, and 259 to the mean pooling circuit 260. The mean pooling circuit 260 in turn averages the received state to produce a joint image/text context vector Him:text 270. Each of the output words 240, 241, and 249 can be used to describe the input image 210.
V. Example Convolutional Neural Network
[041] FIG. 3 is a diagram 300 outlining an example convolutional neural network (CNN), as can be used in certain examples of the disclosed technology. In some examples, the illustrated neural network can be implemented using one or more general-purpose microprocessors. In other examples, the illustrated neural network can be implemented using acceleration provided by graphics process units (GPU), field programmable gate arrays (FPGA), or other suitable acceleration technology. The illustrated neural network 310 of FIG. 3 can be deemed a network-in- network (NIN) topology. In other examples of the disclosed technology, other neural network architectures can be employed, including AlexNet, GoogLeNet, or other suitable architectures.
[042] As shown, an input image 320, selected according to the disclosed technologies is input to the NIN neural network 310, which includes a number of multilayer perceptron (MLP) convolutional layers 330, 331, and 332, and a global average pooling layer or fully connected layer 340. Use of multilayer perceptrons is compatible with the structure of convolutional neural networks and can be trained using back-propagation. The multilayer perceptron can be a deep model itself. In the illustrated example, the calculation performed by a multilayer perceptron layer is shown as follows:
Figure imgf000012_0001
where η is the number of layers in the multilayer perceptron. A rectified linear unit is used as the activation function in the multilayer perceptron. From a cross-channel pooling point of view, this calculation is equivalent to a cascaded cross-channel parametric pooling on a normal convolution layer. Each pooling layer performs weighted linear recombination on the input feature maps, which then go through a rectifier linear unit. The cross-channel pooled feature maps are cross channel pooled repeatedly in the next layers. This cascaded cross-channel parametric pooling structure allows for complex and learnable interactions of cross channel information.
VI. Example Method of Generating an
Output Annotation Sequence Describing an Input Image
[043] FIG. 4 is a flowchart 400 outlining an example method of generating an output annotation sequence describing an input image, as can be performed in certain examples in the disclosed technology. For example, the system described above regarding FIG. 1 can be used to perform the illustrated method, although other suitable systems can be adapted to perform the illustrated method.
[044] At process block 410, a CNN is trained with a plurality of images and associated annotations. For example, a plurality of x-ray images that have been annotated with an annotation sequence describing pathologies in the image can be used. In some examples, some of the image annotations include the annotation normal, indicating that no pathology is present.
[045] At process block 420, a recurrent neural network (RNN) is trained by initializing the RNN with a trained CNN embedding, and unrolled over one or more words of an annotation sequence. Memory or other state elements within the RNN are used to store state vectors providing memory between iterations, or un-rollings, of the RNN. Examples of suitable RNNs that can be employed include LSTMS and GRUs, but as can be readily understood to one of ordinary skill in the relevant art, other suitable RNNs can be used.
[046] At process block 430, the trained CNN is sampled by applying an input image as input to the CNN that was trained at process block 420. In some examples, the output layer of the CNN is used as the sample output, while in other examples, internal nodes, or internal and output nodes are used as the sampling output.
[047] At process block 440, the RNN that was trained at process block 420 is initialed by embedding the sampled output from the initialized CNN that was produced at process block 430. The output of the initialized CNN is used as an updated state vector and a first word of an annotation sequence is applied as input to the RNN. Gating logic within the RNN can be used to update memory elements to perform, producing an updated state vector h.
[048] At process block 450, a context vector is produced by un-rolling the RNN starting with the CNN image embedding as the initial state vector, for a subsequent word of the annotation sequence. For example, the RNN can be unrolled and the embedding values in the CNN can be averaged by a mean pooling circuit. The mean pooling circuit combines values from the progressively changing state vectors of RNN (starting from the CNN image embedding as the initialization) to produce the context vector (hm-.τΕχτ)- In some examples, the mean pooling circuit combines the values from the state vectors by computing the mean of all the state vectors.
[049] At process block 460, the image/text joint context vectors generated at process block 460 are used to prepare data for retraining the CNN and/or the RNN. In one example, clustering is applied to the vectors and new labels are assigned to the images based on the clustering. The method then proceeds to process block 410 and 420 to re-train the CNN with the newly assigned image labels, and retrain the RNN with the new CNN embedding, respectively. This iterative process can repeat a number of times, including performance of the clustering and image labeling at process block 460. Once it is determined that the context vectors have converged, or are otherwise suitable for generating annotation sequences describing the input image, the method proceeds to process block 470.
[050] At process block 470, an output annotation sequence is generated describing the input image using the context vector that was produced at process block 450. For example, the output annotation sequence can include a description of a pathology, the affected organ, a level of severity, and a location, in which the described pathology is located within the input image.
[051] It should be noted that the process blocks can be re-executed using different input annotation sequences in order to determine different context vectors. Thus, the produced context vectors can describe more than one pathology for the same input image.
VII. Example Input Image and Associate Annotation
[052] FIG. 5 is a diagram 500 illustrating an example of an input image 510 and associated inputs 520, including a report and annotations that have been generated by a trained radiologist that can be obtained from the Openl collection. The pathologies of the input image 510 are described using two different annotation sequences: the first being "pulmonary atelectasis / lingula / focal," and the second being "calcinosis / lung / hilum / right." The annotation sequence is encoded using a standard MeSH format.
VIII. Example Long Short-Term Memory RNN
[053] FIG. 6 is a diagram 600 illustrating a simplified representation of an RNN suitable for use with certain examples of the disclosed technology. In particular, the RNN is a long short-term memory. The LSTM unit maintains a memory that is changed over time. The output, or activation of the LSTM unit, can be computed as a function of the stored memory values. For example, each output element H can be computed by applying an output gate 610 that modulates the amount that the memory content is exposed on the output. An intermediate function, for example a sigmoid or hyperbolic tangent, can be applied to values stored in the corresponding memory cell. The memory cell can then be updated at a next time unit by partially forgetting the existing memory value and adding new memory content through the input. The extent to which the existing memory is forgotten can be modulated by a forget gate 620 and the degree to which the new content is added to the memory cell can be modulated by an input gate 630. Gates can be computed using a matrix function. Any form of suitable memory (e.g. , latches, flip-flops, registers, addressable memories implemented with dynamic RAM (included embedded DRAM), static RAM, memristors) can be used to store data for the state vector h 640 and the new state vector h 650. A general-purpose processor, a co-processor (e.g., a GPU or neural network chip), an FPGA, or a system-on-chip (SoC) including such memory or coupled to such a memory can be adapted to provide the illustrated LSTM RNN. The LSTM unit is able to decide whether to keep the existing memory values via the introduced gates. Thus, if the LSTM unit detects an important feature from an input sequence from an early stage, it can easily carry this information (e.g. , the existence of the feature itself) for a long distance, hence capturing potential long distance dependencies.
[054] The LSTM unit can be used in several different applications, including speech recognition, sequence generation, machine translation, and image caption generation. In some examples of the disclosed technology, the operation of the LSTM unit can be described by the following equations:
Figure imgf000015_0001
where is the input gate,
Figure imgf000015_0002
the forget gate, ot the output gate, ht the state vector (memory), the
Figure imgf000015_0003
new state vector (new memory), and mt the output vector. W is a matrix of trained parameters (weights), and σ is the logistic sigmoid function. Θ represents the product of a vector with a gate value.
IX. Example Gated Recurrent Unit (GRU) RNN
[055] FIG. 7 is a diagram 700 outlining an example of a different time of RNN, a gated recurrent unit (GRU). The GRU allows each recurrent unit of the RNN to adaptively capture dependencies of different time scales. The GRU is similar to the LSTM unit in that there are gating units (e.g. , a reset gate 710 and an update gate 720 used to modulate the flow of information inside the unit. However, the GRU differs from the LSTM in that it does not have separate memory cells besides the current state h 730 and the candidate state h 740. Any form of suitable memory (e.g. , latches, flip-flops, registers, addressable memories implemented with dynamic RAM (included embedded DRAM), static RAM, memristors) can be used to store data for the current and candidate state, general-purpose processor, a co-processor (e.g., a GPU or neural network chip), an FPGA, or a system-on-chip (SoC) including such memory or coupled to such a memory can be adapted to provide the illustrated GRU RNN. Both Long Short-Term Memory (LSTM) and Gated Recurrent Unit (GRU) implementations address the vanishing gradient problem exhibits in certain recurrent neural networks (RNNs). [056] Thus, the described procedure of taking a linear sum between an existing state and a newly computed state is similar in some fashion to the LSTM unit. The GRU RNN, however, does not have any mechanism to control the degree to which its state is exposed, but exposes the state the whole time that the RNN is evaluated.
[057] In some examples of the disclosed technology, operation of a GRU can be described by the following equations:
Figure imgf000016_0001
where zt is the update gate, rt the reset gate, ht the new state vector, and ht the final state vector.
[058] It should be noted that these types of RNNs include an additive component when updating from time t to time i+1 that is not found in certain other types of RNNs. Thus, these types of RNNs keep existing content and add/combine new content with the existing content. This allows for each RNN unit to remember the existence of a specific feature in the input stream for a long series of steps. Thus, certain important features, as determined by a forget gate or an update gate, will not be overwritten. Further, this addition allows for the creation of shortcut paths that can bypass multiple temporal steps. This can allow for errors to be back propagated easily without vanishing too quickly as a result of passing through multiple bounded non-linearities, thereby reducing difficulties cause by multiple gradients.
[059] FIG. 8A depicts 800 a joint image/context vector describing a calcified granuloma. FIG. 8B depicts 810 a joint image/context vector describing opacity. Dimension reduction from a 1,024 dimensional domain to a two-dimensional domain can be performed using t-SNE to visualize the 1 ,024 dimensional vectors on the two-dimensional space.
[060] Each of the word sequences represent annotation pairing with an image. All of the cases in FIG. 8A were previously labeled as "calcified granuloma" when training the CNN (in the first phase). After a first-stage RNN training and generating the joint image/text context vector, a clustering technique is applied to these vectors such that images annotated with "multiple calcified granuloma in the lower lobe of lung (top)" and "small calcified granuloma in the right upper lobe" are given different labels when training CNN. Thus, the CNN learns to distinguish these differences of disease appearances (contexts) in the second phase of CNN training. The RNN is trained again using this CNN embedding trained from the second phase, and improved annotations will be generated when given a new image. Thus, annotations describing the same disease can be divided into different labels based on their joint image/text context.
X. Example Computing Environment
[061] FIG. 9 illustrates a generalized example of a suitable computing environment 900 in which described embodiments, techniques, and technologies, including image analysis using CNNs and RNNs, can be implemented. For example, the computing environment 900 can implement disclosed techniques for analyzing images by repeatedly applying a sequence of input words using an RNN, as described herein.
[062] The computing environment 900 is not intended to suggest any limitation as to scope of use or functionality of the technology, as the technology may be implemented in diverse general- purpose or special-purpose computing environments. For example, the disclosed technology may be implemented with other computer system configurations, including hand held devices, multiprocessor systems, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The disclosed technology may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
[063] With reference to FIG. 9, the computing environment 900 includes at least one processing unit 910 and memory 920. In FIG. 9, this most basic configuration 930 is included within a dashed line. The processing unit 910 executes computer-executable instructions and may be a real or a virtual processor. In a multi-processing system, multiple processing units execute computer- executable instructions to increase processing power and as such, multiple processors can be running simultaneously. The memory 920 may be volatile memory (e.g. , registers, cache, RAM), non-volatile memory (e.g. , ROM, EEPROM, flash memory, etc.), or some combination of the two. The memory 920 stores software 980, images, and video that can, for example, implement the technologies described herein. A computing environment may have additional features. For example, one or more co-processing units 915 or accelerators, including graphics processing units (GPUs), can be used to accelerate certain functions, including implementation of CNNs and RNNs. The computing environment 900 may also include storage 940, one or more input device(s) 950, one or more output device(s) 960, and one or more communication connection(s) 970. An interconnection mechanism (not shown) such as a bus, a controller, or a network, interconnects the components of the computing environment 900. Typically, operating system software (not shown) provides an operating environment for other software executing in the computing environment 900, and coordinates activities of the components of the computing environment 900.
[064] The storage 940 may be removable or non-removable, and includes magnetic disks, magnetic tapes or cassettes, CD-ROMs, CD-RWs, DVDs, or any other medium which can be used to store information and that can be accessed within the computing environment 900. The storage 940 stores instructions for the software 980, image data, and annotation data, which can be used to implement technologies described herein.
[065] The input device(s) 950 may be a touch input device, such as a keyboard, keypad, mouse, touch screen display, pen, or trackball, a voice input device, a scanning device, or another device, that provides input to the computing environment 900. For audio, the input device(s) 950 may be a sound card or similar device that accepts audio input in analog or digital form, or a CD-ROM reader that provides audio samples to the computing environment 900. The output device(s) 960 may be a display, printer, speaker, CD-writer, or another device that provides output from the computing environment 900.
[066] The communication connection(s) 970 enable communication over a communication medium (e.g. , a connecting network) to another computing entity. The communication medium conveys information such as computer-executable instructions, compressed graphics information, video, or other data in a modulated data signal. The communication connection(s) 970 are not limited to wired connections (e.g. , megabit or gigabit Ethernet, Infiniband, Fibre Channel over electrical or fiber optic connections) but also include wireless technologies (e.g. , RF connections via Bluetooth, WiFi (IEEE 802.11a/b/n), WiMax, cellular, satellite, laser, infrared) and other suitable communication connections for providing a network connection for the disclosed methods. In a virtual host environment, the communication(s) connections can be a virtualized network connection provided by the virtual host.
[067] Some embodiments of the disclosed methods can be performed using computer-executable instructions implementing all or a portion of the disclosed technology in a computing cloud 990. For example, disclosed compilers and/or processor servers are located in the computing
environment, or the disclosed compilers can be executed on servers located in the computing cloud 990. In some examples, the disclosed compilers execute on traditional central processing units (e.g. , RISC or CISC processors). [068] Computer-readable media are any available media that can be accessed within a computing environment 900. By way of example, and not limitation, with the computing environment 900, computer-readable media include memory 920 and/or storage 940. As should be readily understood, the term computer-readable storage media includes the media for data storage such as memory 920 and storage 940, and not transmission media such as modulated data signals.
XI. Example Image Analysis Results
[069] Example image analysis results (e.g. , text annotations describing a medical image) are disclosed in the section, as can be performed in certain examples of the disclosed technology. As will be readily apparent to one of ordinary skill in the relevant art, the example systems, methods, and neural networks described above regarding FIGS. 1-4 and 9 can be adapted to provide the disclosed analysis results. Further, the technologies described above can be modified to suit particular datasets, computing environments, and performance requirements.
A. Dataset
[070] In some examples, a publicly available radiology dataset of chest x-rays and reports is used that is a subset of the Openl open source literature and biomedical image collections. An example of this radiology database contains 3,955 radiology reports from the Indiana Network for Patient Care, and 7,470 associated chest x-rays from the hospitals' picture archiving systems. The dataset is fully anonymized via an aggressive anonymization scheme, which achieved 90% precision in de- identification. However, a few findings are rendered uninterpretable. An example case of the dataset is shown in FIG. 5.
[071] The data in the reports can be structured as comparison, indication, findings, and impression sections, in line with a common radiology reporting format for diagnostic chest x-rays. In the example shown in FIG. 5, there is an error resulting from an aggressive automated de-identification scheme. A word possibly indicating a disease was falsely detected as a personal information, and was thereby "anonymized" as "XXXX." While radiology reports contain comprehensive information about the image and the patient, they may also contain information that cannot be inferred from the image content. For instance, in the example shown in FIG. 5, it is probably impossible to determine that the image is of a Burmese male.
[072] On the other hand, a manual annotation of MEDLINE® citations with controlled vocabulary terms (Medical Subject Headings (MeSH®) is known to significantly improve the quality of the image retrieval results. MeSH terms for each radiology report in the Openl chest x- ray data are annotated and used to train neural networks.
[073] Nonetheless, it is not effective to assign a single image label based on MeSH and train a CNN to reproduce them, because MeSH terms seldom appear individually when describing an image. The twenty most frequent MeSH terms appear with other terms in more than 60% of the cases. Normal cases (term "normal") on the contrary, do not have any overlap, and account for 37% of the entire example dataset. The thirteen most frequent MeSH terms appearing more than 180 times are provided below in Table 1, along with the total number of cases in which they appear, the number of cases they overlap with in an image, and the overlap percentages. The x-ray images are provided in Portable Network Graphics (PNG) format, with sizes varying from 512x420 to 512x624. In the described example, CNN input training and testing images are scaled to a size of 256x256.
B. Disease Label Mining
[074] The CNN-RNN based image caption generation approaches uses a well-trained CNN to encode input images effectively. Unlike natural images that can simply be encoded by ImageNet- trained CNNs, medical images such as chest x-rays differ significantly from natural ImageNet images. A number of frequent annotation patterns are sampled with less overlaps for each image, in order to assign image labels to each chest x-ray image and train with cross-entropy criteria.
[075] In the example dataset, seventeen unique patterns of MeSH term combinations appeared in 30 or more cases. The dataset is split into training/validation/testing cases as 80%/10%/10% and at least 9 cases each are placed in the validation and testing sets. These include the terms shown in Table 1, as well as scoliosis, osteophyte, spondylosis, fractures/bone. MeSH terms appearing frequently but without unique appearance patterns include pulmonary atelectasis, aorta/tortuous, pleural effusion, cicatrix, etc. They often appear with other disease terms (e.g. consolidation, airspace disease, atherosclerosis). About 40% of the full dataset with this disease image label mining is retained, where the annotations for the remaining 60% of images are more complex (thereby making it difficult to assign a single disease label).
Figure imgf000020_0001
Figure imgf000021_0001
As shown in Table 1, the thirteen most frequent MeSH terms appear over 180 times, and the table further includes the number of the terms mentioned with other terms (overlap) in an image and their associated percentages.
C. Image Classification with CNN
[076] The aforementioned seventeen unique disease annotation patterns (in Table 1, and scoliosis, osteophyte, spondylosis, fractures/bone) are used to label the images and train CNNs. The adaptability of ImageNet-trained CNN features, as adopted using various regularization techniques to deal with the normal- vs-diseased cases bias is illustrated. For the default CNN model, the simple yet effective Network-In-Network (NIN) model can be used, as the model is small in size, fast to train, and achieves similar or better performance to other neural models (e.g. , the AlexNet model). Results are compared to a more complex CNN model, the GoogLeNet neural network.
[077] From the 17 chosen disease annotation patterns, normal cases account for 71% of all images, well above the numbers of cases for the remaining 16 disease annotation patterns. The number of samples is balanced for each case by augmenting the training images of the smaller cases by randomly cropping 224x224 size images from the original 256x256 size image.
D. Adaptability of ImageNet-Trained CNN Features
[078] While chest x-rays do not seem apparently related to the images from ImageNet, rich features learned from the large scale ImageNet dataset can help encode chest x-ray images. In order to validate the adaptability of the ImageNet-trained CNN features to chest x-rays is tested by fine-tuning the ImageNet-trained CNN to chest x-ray classification. For fine-tuning, the ImageNet- trained CNN weights of all the layers are re-used, except the last layer for classification, and trained with a learning rate one-tenth lower than the default learning rate.
[079] An example of results from training and validating accuracies of a NIN model, initializing its weights with normal random distribution, or fine-tuning from ImageNet-trained CNNs, are provided below in Table 2. We experiment with default learning rates ranging from 9"3 to 9"1 for fine-tuning, and from 9~2 to 9° for training from random initialization. While the fine-tuned model could not exceed 15% training accuracy, random initialization yielded over 99% training accuracy. From these results, one can conclude that the CNN features specifically trained for chest x-rays are better suited than re-using the ImageNet-trained CNN features for the images of chest x-ray images, which have specific characteristics.
Figure imgf000022_0001
Table 2 provides data on training and validation accuracy of NIN model fine-tuned from
ImageNet-trained CNN and trained from random initialization.
E. Regularization by Batch Normalization and Data Dropout
[080] Even when the dataset is balanced by augmenting many diseased samples, it is difficult for a CNN to learn a good model to distinguish many diseased cases from normal cases, which have many variations on their original samples. Normalizing the set of images and annotations used to train the neural networks by applying mini-batch statistics during training can serve as an effective regularization technique to improve the performance of a CNN model. By normalizing via mini- batch statistics, the training network was shown not to produce deterministic values for a given training example, thereby regularizing the model to generalize better.
[081] Training deep neural networks can be complicated because the distribution of each layer's inputs changes during training. One way to address this is to slow down the training by requiring lower learning rates and careful parameter initialization. However, such an approach is less successful in models that have saturating nonlinearities— internal covariate shift. This issue can be addressed by normalizing layer inputs. In the disclosed example, normalization is a part of the model architecture, and is performed for each mini-batch. Such batch normalization allows the use of much higher learning rates and reduces the importance of selecting initialization values. In some examples, batch normalization can eliminate the use of dropout.
[082] Image analysis can be further improved by utilizing a data dropout technique. Data dropout and batch normalization can each be performed during training. In one example of data dropout, each image of a diseased case is augmented at least four times, and normal cases are randomly picked to match four times (due to the augmentation) the number of total diseased cases in a mini- batch. When training a CNN only for one epoch, it is likely that not all normal cases are seen because they are randomly picked during training. However, all the normal cases are likely to be seen (accounted for training) when training the CNN for many epochs (the chances are higher most of them are picked for when forming a mini-batch, when the training procedure is iterated a relatively large number of times).
[083] Both regularization techniques were tested to assess their effectiveness on our dataset. The training and validation accuracies for an example of the NIN model with batch-normalization, data- dropout, and both are provided below in Table 3. While batch- normalization and data-dropout alone do not significantly improve performance, combining both increases the validation accuracy by about 2%.
Figure imgf000023_0001
Table 3
Table 3 includes data on the training and validation accuracy of a NIN model with batch- normalization, data-dropout, and both batch-normalization and data-dropout. Diseased cases are very limited compared to normal cases, leading to overfitting, even with regularizations.
F. Effect of Model Complexity
[084] We also validate whether the dataset can benefit from a more complex neural network, GoogLeNet. For the described results, both batch-normalization and data-dropout are applied to: increase learning rate, remove dropout, and remove local response normalization. The
experimental training and validation accuracies using GoogLeNet model are provided below in Table 4, indicating a higher (~4%) accuracy result. We also observe a further ~3% increase in accuracy when the images are no longer cropped, but merely duplicated to balance the dataset. This may imply that, unlike the ImageNet images, the chest x-ray images contain some useful information near their boundary.
Figure imgf000024_0001
Table 4 provides training and validation accuracy of GoogLeNet model with batch- normalization, data-dropout, and without cropping the images for data augmentation.
XII. Example Annotation Generation using RNNs
[085] This section discloses results from using recurrent neural networks (RNNs) to learn the annotation sequence given input image CNN embeddings. As will be readily apparent to one of ordinary skill in the relevant art, the example systems, methods, and neural networks described above regarding FIGS. 1-4 and 9 can be adapted to provide the disclosed analysis results. Further, the technologies described above can be modified to suit particular datasets, computing
environments, and performance requirements.
A. Example RNN Training Method
[086] In the example annotation dataset, the number of standardized terms (in this example, MeSH terms) describing diseases ranges from 1 to 8 (except normal, which is one word), with a mean of 2.56 and standard deviation of 1.36. The majority of descriptions contain up to five words. Since only nine cases have images with descriptions longer than six words, these cases are ignored by constraining the RNNs to unroll up to five time steps. Annotations with less than five words are zero-padded with the end-of-sentence token used to fill in the five-word space.
[087] For the disclosed example, both Long Short-Term Memory (LSTM) and Gated Recurrent Unit (GRU) implementations of RNNs. As discussed further above, simplified illustrations of LSTM and GRU RNNs used are shown in FIGS. 6 and 7, respectively. The parameters of the gates in LSTM and GRU decide whether to update their current state h to the new candidate state h, where these states are learned from the previous input sequences (for example, a previous iteration of evaluating the RNN, or from an initialized CNN). The initial state of RNNs is set as the CNN image embedding (CNN(/)), and the first annotation word /Nwordi as the initial input. See FIG. 2. The output of the RNNs are the following annotation word sequences, and the RNNs are trained by minimizing the negative log likelihood of output sequences and true sequences:
Figure imgf000025_0001
where yt is the output word of RNN in time step t, st the correct word, CNN(T) is the CNN embedding of input image /, and N the number of words are in the annotation (for this example, N = 5 with any applicable end-of-sequence zero-padding). Equation 2 is not a true conditional probability (because the RNNs' state vector is initialized to be CNN(/)), but is a convenient way to describe the training procedure.
[088] The NIN and GoogLeNet models replace the fully-connected layers with average-pooling layers. The output of the last spatial average-pooling layer is used as the image embedding to initialize the RNN state vectors. The size of RNN state vectors used in to generate the example results are which is identical to the output size of the average-pooling layers from NIN and
Figure imgf000025_0004
GoogLeNet.
B. Sampling
[089] In sampling the trained RNN, the RNN state vectors are initialized with the CNN image embedding The CNN prediction of the input image is used as the first word as the
Figure imgf000025_0003
input to the RNN, to sample following sequences up to five words. In some examples, images are normalized by the batch statistics before being fed to the CNN.
C. Evaluation
[090] The annotation generation was evaluated using a calculated bilingual evaluation understudy (BLEU) score averaged over all of the images and their annotations in the training, validation, and test set. The BLEU scores evaluated are provided below in Table 5. The BLEU-N scores are evaluated for cases with > N words in the annotations, using the implementation of [4]. For the example dataset, the LSTM RNN was easier to train, while the example GRU RNN model yields better results with more carefully selected hyper-parameters. Thus, while it is difficult to conclude which model is better, the GRU model seems to achieve higher scores on average.
Figure imgf000025_0002
Table 5 provides BLEU scores validated on the training, validation, test set, using LSTM and GRU RNN models for the sequence generation.
XIII. Example Results using Recurrent Feedback Model for
Image Labeling with Joint Image/Text Context
[091] For the example results provided in this section, the CNN models are trained with disease labels only where the context of diseases are not considered. For instance, the same calcified granuloma label is assigned to all image cases that actually may describe the disease differently in a finer semantic level, such as "calcified granuloma in right upper lobe," "small calcified granuloma in left lung base," and "multiple calcified granuloma."
[092] Meanwhile, the RNNs encode the text annotation sequences given the CNN embedding of the image the annotation is describing. The already-trained CNN and RNN are used to infer better image labels, integrating the contexts of the image annotations beyond just the name of the disease. This is achieved by generating joint image/text context vectors that are computed by applying mean-pooling on the state vectors (h) of RNN at each iteration over the annotation sequence. It should be noted that the state vector of RNN is initialized with the CNN image embeddings (CNN(/)), and the RNN is unrolled over the annotation sequence, taking each word of the annotation as input. The procedure used is discussed above regarding FIG. 2, and the RNNs share the same parameters.
[093] The obtained joint image/text context vector encodes the image context as well as
Figure imgf000026_0002
the text context describing the image. Using a notation similar to Equation 1, the joint image/text context vector can be written as:
Figure imgf000026_0001
where xt is the input word in the annotation sequence with N words. Different annotations describing a disease are thereby separated into different categories by the as shown in FIGS.
Figure imgf000026_0003
8 A and 8B. In FIGS. 8 A and 8B, the vectors of about fifty annotations describing calcified
Figure imgf000026_0005
granuloma and opacity are projected onto two-dimensional planes via dimensionality reduction using a t-distributed stochastic neighbor embedding (t-SNE) implementation. For
Figure imgf000026_0004
this example, the GRU implementation of the RNN is used because it showed better overall BLEU scores in Table 5. [094] From the generated for each of the image/annotation pair in the training and
Figure imgf000027_0003
validation sets, new image labels are obtained by taking disease context into account. In addition, the disease annotation is not limited to mostly describing a single disease. Thus, the joint image/text context vector
Figure imgf000027_0004
summarizes both the image's context and word sequence, so that annotations such as "calcified granuloma in right upper lobe," "small calcified granuloma in left lung base," and "multiple calcified granuloma" have different vectors based on their contexts.
[095] Additionally, the disease labels used with unique annotation patterns can now have more cases, as cases with a disease described by different annotation words are no longer filtered out. For example, calcified granuloma previously had only 139 cases because cases with multiple diseases mentioned or with long description sequences were filtered out. Using the joint image/text context vector cases are associated with calcified granuloma. Likewise, opacity now
Figure imgf000027_0005
has 207 cases, as opposed to the previous 65. The average number of cases of all first-mentioned disease labels has is 83.89, with a standard deviation of 86.07, a maximum of 414 (calcified granuloma), and a minimum of 18 (emphysema).
[096] For a disease label having more than 170 cases (n > 170 = (average+standard deviation)), the cases are divided into sub-groups of more than 50 cases by applying k-means clustering to the
Figure imgf000027_0006
with k = Round(n/50). The CNN is trained once more with the additional labels (57, compared to 17 used above), training the RNN with the new CNN image embedding, and finally generate image annotations. The new RNN training cost function (compared to Equation 2) can be expressed as:
Figure imgf000027_0002
where denotes the joint image/text context vector obtained from the first round (with
Figure imgf000027_0001
limited cases and image labels at 0th iteration) of CNN and RNN training. In the second CNN training round (first iteration), the RNN is fine-tuned from the previous CNNiter=o, by replacing the last classification layer with the new set of labels (17→ 57) and training it with a lower learning rate (0.1), except for the classification layer. A. Evaluation
[097] The final evaluated BLEU scores are provided below in Table 6. As shown, using the joint image/text context, better overall BLEU scores are achieved than those in Table 5. Also, slightly better BLEU scores are obtained using GRU on average, although overall better BLEU-1 scores are acquired using LSTM. Examples of generated annotations on the chest x-ray images are shown in a number of images 1000 in FIG. 10. Each of the images includes a photograph of an input image (e.g. , input image 1010), text annotation for the "true annotation" generated by a radiologist (e.g. , true annotation 1012), and text annotation generated according to the disclosed technology (e.g. , generated annotation 1014), positioned above the true annotation. These annotations were generated using the joint image/context vector and a GRU model. FIGS. 11-18 illustrate additional examples of annotations generated for x-ray images (1100, 1200, 1300, 1400, 1500, 1600, 1700, and 1800) according to the disclosed techniques, including the use of a joint image/context vector.
Figure imgf000028_0001
[098] Table 6 provides BLEU scores validated on the training, validation, test set, using LSTM and GRU RNN models trained on the first iteration for the sequence generation.
[099] Thus, effective frameworks to learn, detect disease, and describe their contexts from the patient chest x-rays and their accompanying radiology reports with Medical Subject Headings (MeSH) annotations are disclosed. Furthermore, an approach is disclosed to mine joint contexts from a collection of images and their accompanying text, by summarizing the CNN/RNN outputs and their states on each of the image/text instances. Higher performance on text generation can be achieved on the test set if the joint image/text contexts are used to re-label the images and to train the proposed CNN/RNN framework subsequently.
[0100] While the examples discussed herein are based on a medical dataset, the suggested approaches could also be applied to other application scenarios with datasets containing coexisting pairs of images and text annotations, where, for example, the domain- specific images differ from those of the ImageNet. B. Additional Examples of Annotation Generation
[0101] More annotation generation examples are provided in FIGS. 15-18. Overall, the system generates promising results on predicting disease (labels) and its context (attributes) in the images. However, rare disease cases are more difficult to detect. For example, the cases pulmonary atelectasis, spondylosis, and density (FIGS. 15 and 16), as well as foreign bodies, atherosclerosis, costophrenic angle, and deformity (FIGS. 17 and 18) are much rarer in the data than calcified granuloma, cardiomegaly, and all the frequent cases listed above in Table 1.
[0102] Furthermore, it should be noted that the (left or right) location of the disease cannot be identified in a lateral view (obtained by scanning the patient from the side), as shown in FIGS. 17 and 18. Since the example dataset used to generate these figures contains a limited number of disease cases, each x-ray image and report is treated as a distinct sample, and different views of the same patient/condition are not taken into account in these exemplary results.
[0103] As will be readily understood to one of ordinary skill in the relevant art having the benefit of the present disclosure, prediction accuracy can be improved by both (a) accounting for different views of the same patient/condition, and (b) collecting a larger dataset to better account for rare diseases.
[0104] In view of the many possible embodiments to which the principles of the disclosed subject matter may be applied, it should be recognized that the illustrated embodiments are only preferred examples and should not be taken as limiting the scope of the claims to those preferred examples. Rather, the scope of the claimed subject matter is defined by the following claims. We therefore claim as our invention all that comes within the scope of these claims and their equivalents.

Claims

We claim:
1. A method of generating an annotation sequence describing an input image, the method comprising:
training a convolutional neural network (CNN) by applying reference images and using associated annotation sequences to train the CNN, the associated annotation sequences indicating a diagnosis for a respective one of the reference images;
training a recurrent neural network (RNN) by initializing the RNN with the trained CNN embedding of a reference image and a first word of an annotation sequence, producing a first RNN state vector;
initializing the RNN by the CNN image embedding;
training the initialized RNN with a subsequent word of the annotation sequence; and with the trained CNN and RNN, generating an output annotation sequence describing the input image.
2. The method of claim 1, further comprising:
using the trained CNN and trained RNN, generating joint image/text context vectors and text annotations summarizing context of the input image by averaging RNN state vectors rolled over each word of the associated annotation sequence.
3. The method of claim 2, further comprising relabeling the reference images by clustering the joint image/text context vector.
4. The method of claim 3, wherein the relabeling improves accuracy with which the CNN distinguishes cases with a same disease case and different contexts.
5. The method of claim 3, further comprising retraining the trained CNN and/or the trained RNN with newly-assigned image labels generated using the joint image/context vectors.
6. The method of claim 5, wherein the retrained CNN and/or retrained RNN exhibit improved accuracy of the output annotation sequence.
7. The method of claim 1, further comprising sampling the trained CNN by applying the reference image as input to the CNN.
8. The method of claim 1, wherein the training the initialized RNN comprises applying a first word of the annotation sequence, producing a new candidate state vector.
9. The method of claim 1, further comprising:
producing a context vector by re-initializing the RNN with: the trained CNN embedding the new candidate state vector and a subsequent word of the annotation sequence; and
wherein the generating an output annotation sequence comprises using the produced context vector.
10. The method of claim 1, wherein the input image and the reference image are x-ray images of a mammal.
11. The method of claim 1 , wherein the associated annotation sequence includes data indicating at least one or more of the following: a disease, a severity level of a disease, an affected organ, or a location.
12. The method of claim 1, wherein the associated annotation sequence is encoded according to a standardized set of terminologies.
13. The method of claim 12, wherein the standardized set of terminologies is a Medical Subject Headings (MeSH) vocabulary.
14. The method of claim 1, further comprising diagnosing a pathology for the input image based on the output annotation sequence.
15. The method of claim 1, further comprising diagnosing two or more pathologies for the input image based on the output annotation sequence.
16. The method of claim 1, further comprising diagnosing the input image as normal.
17. The method of claim 1, further comprising treating a patient associated with the input image based on a diagnosis generated with the output annotation sequence.
18. The method of claim 1, further comprising producing a database comprising a plurality of reference images, each of the plurality of images being associated with one or more annotation sequences describing an aspect of a pathology present in the respective reference image, wherein the training the CNN is performed by applying at least a portion of the reference images as input to the CNN.
19. The method of claim 18, further comprising selecting the at least a portion of the reference images by adjusting the relative number of normal images to diseased images applied for training the CNN.
20. The method of claim 18, wherein at least one of the associated annotation sequences describes aspects of two or more pathologies present in the respective reference image.
21. The method of claim 18, wherein each of a plurality of diseased images of the plurality of images is augmented two or more times with a randomly cropped version of the respective diseased image.
22. The method of claim 18, further comprising randomly or pseudo-randomly selecting one or more normal cases from the plurality of reference images to augment the database.
23. The method of claim 1, wherein the RNN comprises a Long Short-Term Memory (LSTM).
24. The method of claim 23, wherein the LSTM operates according to the following equations:
Figure imgf000032_0001
wherein it is the input gate,/; the forget gate, ot the output gate, ht the state vector (memory), ht the new state vector (new memory), mt the output vector, W is a matrix of trained parameters (weights), and σ is the logistic sigmoid function, and Θ represents the product of a vector with a gate value.
25. The method of claim 1, wherein the RNN comprises a Gated Recurrent Unit (GRU).
26. The method of claim 25, wherein the GRU operates according to the following equations:
Figure imgf000033_0001
wherein it is the update gate, the reset gate, the new state vector, and the final state
Figure imgf000033_0004
Figure imgf000033_0002
Figure imgf000033_0003
vector.
27. The method of claim 1, wherein the CNN and the RNN are implemented with a general-purpose microprocessor coupled to memory.
28. The method of claim 1, wherein the CNN and the RNN are implemented with a graphics processing unit (GPU).
29. One or more computer-readable storage media storing computer-readable instructions that when executed by a processor, cause the processor to perform the method of any one of claims 1-28.
30. A system, comprising:
memory;
one or more general purpose processors and/or graphics processing unit processors; and one or more computer-readable storage media storing computer-readable instructions that when executed by the processors, cause the processors to perform any one of the methods of claims
1-28.
31. A system, comprising:
a convolutional neural network (CNN) trained with images and respective associated image annotations;
a recurrent neural network (RNN) embedding the convolutional neural network, the RNN being configured to be trained to receive a sequence of input words and update memory elements of the RNN responsive to the RNN and output of the CNN; and
a mean pooling module configured to collect state vector data from the RNNs to generate context vectors summarizing contexts of the images and their respective associated image annotations; a clustering module configured to group the generated context vectors and assign improved labels to the images; and
a neural network architecture configured to generate an output annotation sequence responsive to an input image being sampled with the CNN.
32. The system of claim 31, wherein the CNN, the RNN, and the mean pooling module are implemented with a general-purpose processor coupled to memory.
33. The system of claim 31, wherein at least one of the CNN, the RNN, and the mean pooling module are implemented with a graphics processing unit.
34. The system of claim 31, wherein RNN comprises a Long Short-Term Memory (LSTM) configured to operate according to the following equations:
Figure imgf000034_0001
wherein it is the input gate,/; the forget gate, ot the output gate, ht the state vector (memory), ht the new state vector (new memory), mt the output vector, W is a matrix of trained parameters (weights), and σ is the logistic sigmoid function, and Θ represents the product of a vector with a gate value.
35. The system of claim 31, wherein the RNN comprises a Gated Recurrent Unit (GRU) configured to operate according to the following equations:
Figure imgf000034_0002
where it is the update gate, rt the reset gate, ht the new state vector, and ht the final state vector.
PCT/US2017/020183 2016-03-01 2017-03-01 Recurrent neural feedback model for automated image annotation WO2017151757A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662302084P 2016-03-01 2016-03-01
US62/302,084 2016-03-01

Publications (1)

Publication Number Publication Date
WO2017151757A1 true WO2017151757A1 (en) 2017-09-08

Family

ID=58358879

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2017/020183 WO2017151757A1 (en) 2016-03-01 2017-03-01 Recurrent neural feedback model for automated image annotation

Country Status (1)

Country Link
WO (1) WO2017151757A1 (en)

Cited By (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108320288A (en) * 2017-12-08 2018-07-24 李书纲 A kind of data processing method of idiopathic scoliosis image
CN108876643A (en) * 2018-05-24 2018-11-23 北京工业大学 It is a kind of social activity plan exhibition network on acquire(Pin)Multimodal presentation method
CN108898639A (en) * 2018-05-30 2018-11-27 湖北工业大学 A kind of Image Description Methods and system
CN109117849A (en) * 2018-07-17 2019-01-01 中国铁道科学研究院集团有限公司 The application of depth learning technology train running monitoring early warning system AT STATION
CN109145946A (en) * 2018-07-09 2019-01-04 暨南大学 A kind of identification of intelligent image and description method
CN109189965A (en) * 2018-07-19 2019-01-11 中国科学院信息工程研究所 Pictograph search method and system
CN109446369A (en) * 2018-09-28 2019-03-08 武汉中海庭数据技术有限公司 The exchange method and system of the semi-automatic mark of image
WO2019060490A1 (en) * 2017-09-22 2019-03-28 Saudi Arabian Oil Company Thermography image processing with neural networks to identify corrosion under insulation (cui)
CN109543029A (en) * 2018-09-27 2019-03-29 平安科技(深圳)有限公司 File classification method, device, medium and equipment based on convolutional neural networks
CN109816624A (en) * 2017-11-17 2019-05-28 发那科株式会社 Appearance inspection device
CN109829495A (en) * 2019-01-29 2019-05-31 南京信息工程大学 Timing image prediction method based on LSTM and DCGAN
KR20190091858A (en) * 2018-01-29 2019-08-07 주식회사 유엑스팩토리 Heterogenous Processor Architecture to Integrate CNN and RNN Neural Networks on a Single Chip
WO2019160557A1 (en) * 2018-02-16 2019-08-22 Google Llc Automated extraction of structured labels from medical text using deep convolutional networks and use thereof to train a computer vision model
WO2019175404A1 (en) * 2018-03-16 2019-09-19 Koninklijke Philips N.V. Method and system for generating medical image based on textual data in medical report
CN110288573A (en) * 2019-06-13 2019-09-27 天津大学 A kind of mammalian livestock illness automatic testing method
CN110299142A (en) * 2018-05-14 2019-10-01 桂林远望智能通信科技有限公司 A kind of method for recognizing sound-groove and device based on the network integration
RU2702978C1 (en) * 2018-10-15 2019-10-14 Самсунг Электроникс Ко., Лтд. Bayesian rarefaction of recurrent neural networks
WO2019200745A1 (en) * 2018-04-20 2019-10-24 平安科技(深圳)有限公司 Mri lesion position detection method, device, computer apparatus, and storage medium
CN110866913A (en) * 2019-11-21 2020-03-06 桂林电子科技大学 Deep recursion cardiovascular image display method
CN111062410A (en) * 2019-11-05 2020-04-24 复旦大学 Star information bridge weather prediction method based on deep learning
CN111105010A (en) * 2018-10-26 2020-05-05 斯特拉德视觉公司 Method and apparatus for using multiple tagged databases with different tag sets
US10747999B2 (en) 2017-10-18 2020-08-18 The Trustees Of Columbia University In The City Of New York Methods and systems for pattern characteristic detection
CN111582397A (en) * 2020-05-14 2020-08-25 杭州电子科技大学 CNN-RNN image emotion analysis method based on attention mechanism
CN111612027A (en) * 2019-02-26 2020-09-01 沛智生医科技股份有限公司 Cell classification method, system and medical analysis platform
WO2020214678A1 (en) * 2019-04-16 2020-10-22 Covera Health Computer-implemented machine learning for detection and statistical analysis of errors by healthcare providers
CN111881297A (en) * 2020-07-31 2020-11-03 龙马智芯(珠海横琴)科技有限公司 Method and device for correcting voice recognition text
CN111931719A (en) * 2020-09-22 2020-11-13 苏州科达科技股份有限公司 High-altitude parabolic detection method and device
CN111950584A (en) * 2020-06-16 2020-11-17 江西中科九峰智慧医疗科技有限公司 Intelligent identification method and system for integrity of part in X-ray chest radiography
WO2020243460A1 (en) * 2019-05-29 2020-12-03 Georgia Tech Research Corporation Transfer learning for medical applications using limited data
CN112052889A (en) * 2020-08-28 2020-12-08 西安电子科技大学 Laryngoscope image identification method based on double-gating recursive unit decoding
US10909320B2 (en) 2019-02-07 2021-02-02 International Business Machines Corporation Ontology-based document analysis and annotation generation
WO2021040914A1 (en) * 2019-08-30 2021-03-04 Alibaba Group Holding Limited Processors, devices, systems, and methods for neuromorphic computing based on modular machine learning models
CN112685590A (en) * 2020-12-29 2021-04-20 电子科技大学 Image retrieval method based on convolutional neural network regularization processing
US11151449B2 (en) 2018-01-24 2021-10-19 International Business Machines Corporation Adaptation of a trained neural network
US11195273B2 (en) 2019-10-11 2021-12-07 International Business Machines Corporation Disease detection from weakly annotated volumetric medical images using convolutional long short-term memory
US11213220B2 (en) 2014-08-11 2022-01-04 Cubisme, Inc. Method for determining in vivo tissue biomarker characteristics using multiparameter MRI matrix creation and big data analytics
US11232853B2 (en) * 2017-04-21 2022-01-25 Cubisme, Inc. System and method for creating, querying, and displaying a MIBA master file
EP3975194A1 (en) * 2020-09-24 2022-03-30 Koninklijke Philips N.V. Device at the point of imaging for integrating training of ai algorithms into the clinical workflow
US11322256B2 (en) 2018-11-30 2022-05-03 International Business Machines Corporation Automated labeling of images to train machine learning
US11334769B2 (en) 2020-07-07 2022-05-17 International Business Machines Corporation Mixup image captioning
US11386541B2 (en) 2019-08-22 2022-07-12 Saudi Arabian Oil Company System and method for cyber-physical inspection and monitoring of nonmetallic structures
US11417424B2 (en) 2019-10-11 2022-08-16 International Business Machines Corporation Disease detection from weakly annotated volumetric medical images using convolutional long short-term memory and multiple instance learning
US11423538B2 (en) 2019-04-16 2022-08-23 Covera Health Computer-implemented machine learning for detection and statistical analysis of errors by healthcare providers
US11429840B2 (en) * 2019-09-25 2022-08-30 Siemens Medical Solutions Usa, Inc. Learning parameter invariant image reconstruction embedding for AI systems
CN114972810A (en) * 2022-03-28 2022-08-30 慧之安信息技术股份有限公司 Image acquisition and labeling method based on deep learning
US11475668B2 (en) 2020-10-09 2022-10-18 Bank Of America Corporation System and method for automatic video categorization
US11481070B1 (en) 2020-09-25 2022-10-25 Apple Inc. System and method for touch sensor panel with display noise correction
US11490877B2 (en) 2018-03-08 2022-11-08 Koninklijke Philips N.V. System and method of identifying characteristics of ultrasound images
WO2022212771A3 (en) * 2021-03-31 2022-12-29 Sirona Medical, Inc. Systems and methods for artificial intelligence-assisted image analysis
US11568237B2 (en) 2018-05-10 2023-01-31 Samsung Electronics Co., Ltd. Electronic apparatus for compressing recurrent neural network and method thereof
US11593978B2 (en) 2016-07-01 2023-02-28 Cubismi, Inc. System and method for forming a super-resolution biomarker map image
US11599223B1 (en) 2020-03-13 2023-03-07 Apple Inc. System and machine learning method for separating noise and signal in multitouch sensors
US11651522B2 (en) 2020-07-08 2023-05-16 International Business Machines Corporation Adaptive cycle consistency multimodal image captioning
US11763544B2 (en) 2020-07-07 2023-09-19 International Business Machines Corporation Denoising autoencoder image captioning
CN117038055A (en) * 2023-07-05 2023-11-10 广州市妇女儿童医疗中心 Pain assessment method, system, device and medium based on multi-expert model
CN117542467A (en) * 2024-01-09 2024-02-09 四川互慧软件有限公司 Automatic construction method of disease-specific standard database based on patient data
US11899881B2 (en) 2020-07-17 2024-02-13 Apple Inc. Machine learning method and system for suppressing display induced noise in touch sensors using information from display circuitry
US11954288B1 (en) 2020-08-26 2024-04-09 Apple Inc. System and machine learning method for separating noise and signal in multitouch sensors

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
DONAHUE JEFF ET AL: "Long-term recurrent convolutional networks for visual recognition and description", 2015 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), IEEE, 7 June 2015 (2015-06-07), pages 2625 - 2634, XP032793708, DOI: 10.1109/CVPR.2015.7298878 *
HOO-CHANG SHIN ET AL: "Deep Convolutional Neural Networks for Computer-Aided Detection: CNN Architectures, Dataset Characteristics and Transfer Learning", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 10 February 2016 (2016-02-10), XP080682808 *
RAFFAELLA BERNARDI ET AL: "Automatic Description Generation from Images: A Survey of Models, Datasets, and Evaluation Measures", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 15 January 2016 (2016-01-15), XP080679061 *
SHIJUN WANG ET AL: "Machine learning and radiology", MEDICAL IMAGE ANALYSIS, OXFORD UNIVERSITY PRESS, OXOFRD, GB, vol. 16, no. 5, 12 February 2012 (2012-02-12), pages 933 - 951, XP028521923, ISSN: 1361-8415, [retrieved on 20120223], DOI: 10.1016/J.MEDIA.2012.02.005 *
SHIN HOO-CHANG ET AL: "Interleaved text/image Deep Mining on a large-scale radiology database", 2015 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), IEEE, 7 June 2015 (2015-06-07), pages 1090 - 1099, XP032793561, DOI: 10.1109/CVPR.2015.7298712 *
VINYALS ORIOL ET AL: "Show and tell: A neural image caption generator", 2015 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), IEEE, 7 June 2015 (2015-06-07), pages 3156 - 3164, XP032793764, DOI: 10.1109/CVPR.2015.7298935 *

Cited By (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11213220B2 (en) 2014-08-11 2022-01-04 Cubisme, Inc. Method for determining in vivo tissue biomarker characteristics using multiparameter MRI matrix creation and big data analytics
US11593978B2 (en) 2016-07-01 2023-02-28 Cubismi, Inc. System and method for forming a super-resolution biomarker map image
US11232853B2 (en) * 2017-04-21 2022-01-25 Cubisme, Inc. System and method for creating, querying, and displaying a MIBA master file
JP2021502543A (en) * 2017-09-22 2021-01-28 サウジ アラビアン オイル カンパニー Thermographic image processing by neural network to identify under-warm corrosion (CUI)
US10551297B2 (en) 2017-09-22 2020-02-04 Saudi Arabian Oil Company Thermography image processing with neural networks to identify corrosion under insulation (CUI)
US10768094B2 (en) 2017-09-22 2020-09-08 Saudi Arabian Oil Company Thermography image processing with neural networks to identify corrosion under insulation (CUI)
WO2019060490A1 (en) * 2017-09-22 2019-03-28 Saudi Arabian Oil Company Thermography image processing with neural networks to identify corrosion under insulation (cui)
CN111094956A (en) * 2017-09-22 2020-05-01 沙特阿拉伯石油公司 Processing the thermographic image with a neural network to identify Corrosion Under Insulation (CUI)
US10908068B2 (en) 2017-09-22 2021-02-02 Saudi Arabian Oil Company Thermography image processing with neural networks to identify corrosion under insulation (CUI)
US10747999B2 (en) 2017-10-18 2020-08-18 The Trustees Of Columbia University In The City Of New York Methods and systems for pattern characteristic detection
CN109816624B (en) * 2017-11-17 2021-07-09 发那科株式会社 Appearance inspection device
US10997711B2 (en) * 2017-11-17 2021-05-04 Fanuc Corporation Appearance inspection device
CN109816624A (en) * 2017-11-17 2019-05-28 发那科株式会社 Appearance inspection device
CN108320288A (en) * 2017-12-08 2018-07-24 李书纲 A kind of data processing method of idiopathic scoliosis image
CN108320288B (en) * 2017-12-08 2023-05-30 李书纲 Data processing method for idiopathic scoliosis image
US11151449B2 (en) 2018-01-24 2021-10-19 International Business Machines Corporation Adaptation of a trained neural network
KR20190091858A (en) * 2018-01-29 2019-08-07 주식회사 유엑스팩토리 Heterogenous Processor Architecture to Integrate CNN and RNN Neural Networks on a Single Chip
KR102098713B1 (en) 2018-01-29 2020-04-08 주식회사 유엑스팩토리 Heterogenous Processor Architecture to Integrate CNN and RNN Neural Networks on a Single Chip
WO2019160557A1 (en) * 2018-02-16 2019-08-22 Google Llc Automated extraction of structured labels from medical text using deep convolutional networks and use thereof to train a computer vision model
CN111727478A (en) * 2018-02-16 2020-09-29 谷歌有限责任公司 Automatic extraction of structured labels from medical text using deep convolutional networks and use thereof for training computer vision models
US11490877B2 (en) 2018-03-08 2022-11-08 Koninklijke Philips N.V. System and method of identifying characteristics of ultrasound images
JP2021518599A (en) * 2018-03-16 2021-08-02 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Methods and systems for generating medical images based on textual data in medical reports
WO2019175404A1 (en) * 2018-03-16 2019-09-19 Koninklijke Philips N.V. Method and system for generating medical image based on textual data in medical report
US11403786B2 (en) 2018-03-16 2022-08-02 Koninklijke Philips N.V. Method and system for generating medical image based on textual data in medical report
WO2019200745A1 (en) * 2018-04-20 2019-10-24 平安科技(深圳)有限公司 Mri lesion position detection method, device, computer apparatus, and storage medium
US11568237B2 (en) 2018-05-10 2023-01-31 Samsung Electronics Co., Ltd. Electronic apparatus for compressing recurrent neural network and method thereof
CN110299142B (en) * 2018-05-14 2021-11-19 桂林远望智能通信科技有限公司 Voiceprint recognition method and device based on network convergence
CN110299142A (en) * 2018-05-14 2019-10-01 桂林远望智能通信科技有限公司 A kind of method for recognizing sound-groove and device based on the network integration
CN108876643A (en) * 2018-05-24 2018-11-23 北京工业大学 It is a kind of social activity plan exhibition network on acquire(Pin)Multimodal presentation method
CN108898639A (en) * 2018-05-30 2018-11-27 湖北工业大学 A kind of Image Description Methods and system
CN109145946A (en) * 2018-07-09 2019-01-04 暨南大学 A kind of identification of intelligent image and description method
CN109145946B (en) * 2018-07-09 2022-02-11 暨南大学 Intelligent image recognition and description method
CN109117849A (en) * 2018-07-17 2019-01-01 中国铁道科学研究院集团有限公司 The application of depth learning technology train running monitoring early warning system AT STATION
CN109189965A (en) * 2018-07-19 2019-01-11 中国科学院信息工程研究所 Pictograph search method and system
CN109543029B (en) * 2018-09-27 2023-07-25 平安科技(深圳)有限公司 Text classification method, device, medium and equipment based on convolutional neural network
CN109543029A (en) * 2018-09-27 2019-03-29 平安科技(深圳)有限公司 File classification method, device, medium and equipment based on convolutional neural networks
CN109446369B (en) * 2018-09-28 2021-10-08 武汉中海庭数据技术有限公司 Interaction method and system for semi-automatic image annotation
CN109446369A (en) * 2018-09-28 2019-03-08 武汉中海庭数据技术有限公司 The exchange method and system of the semi-automatic mark of image
RU2702978C1 (en) * 2018-10-15 2019-10-14 Самсунг Электроникс Ко., Лтд. Bayesian rarefaction of recurrent neural networks
CN111105010A (en) * 2018-10-26 2020-05-05 斯特拉德视觉公司 Method and apparatus for using multiple tagged databases with different tag sets
CN111105010B (en) * 2018-10-26 2023-09-29 斯特拉德视觉公司 Method and apparatus for using multiple tagged databases with different tag sets
US11322256B2 (en) 2018-11-30 2022-05-03 International Business Machines Corporation Automated labeling of images to train machine learning
CN109829495A (en) * 2019-01-29 2019-05-31 南京信息工程大学 Timing image prediction method based on LSTM and DCGAN
US10909320B2 (en) 2019-02-07 2021-02-02 International Business Machines Corporation Ontology-based document analysis and annotation generation
CN111612027A (en) * 2019-02-26 2020-09-01 沛智生医科技股份有限公司 Cell classification method, system and medical analysis platform
WO2020214678A1 (en) * 2019-04-16 2020-10-22 Covera Health Computer-implemented machine learning for detection and statistical analysis of errors by healthcare providers
US11521716B2 (en) * 2019-04-16 2022-12-06 Covera Health, Inc. Computer-implemented detection and statistical analysis of errors by healthcare providers
US11423538B2 (en) 2019-04-16 2022-08-23 Covera Health Computer-implemented machine learning for detection and statistical analysis of errors by healthcare providers
AU2020260078B2 (en) * 2019-04-16 2022-09-29 Covera Health Computer-implemented machine learning for detection and statistical analysis of errors by healthcare providers
WO2020243460A1 (en) * 2019-05-29 2020-12-03 Georgia Tech Research Corporation Transfer learning for medical applications using limited data
CN110288573A (en) * 2019-06-13 2019-09-27 天津大学 A kind of mammalian livestock illness automatic testing method
US11386541B2 (en) 2019-08-22 2022-07-12 Saudi Arabian Oil Company System and method for cyber-physical inspection and monitoring of nonmetallic structures
WO2021040914A1 (en) * 2019-08-30 2021-03-04 Alibaba Group Holding Limited Processors, devices, systems, and methods for neuromorphic computing based on modular machine learning models
US11429840B2 (en) * 2019-09-25 2022-08-30 Siemens Medical Solutions Usa, Inc. Learning parameter invariant image reconstruction embedding for AI systems
US11417424B2 (en) 2019-10-11 2022-08-16 International Business Machines Corporation Disease detection from weakly annotated volumetric medical images using convolutional long short-term memory and multiple instance learning
US11195273B2 (en) 2019-10-11 2021-12-07 International Business Machines Corporation Disease detection from weakly annotated volumetric medical images using convolutional long short-term memory
CN111062410A (en) * 2019-11-05 2020-04-24 复旦大学 Star information bridge weather prediction method based on deep learning
CN110866913A (en) * 2019-11-21 2020-03-06 桂林电子科技大学 Deep recursion cardiovascular image display method
US11599223B1 (en) 2020-03-13 2023-03-07 Apple Inc. System and machine learning method for separating noise and signal in multitouch sensors
CN111582397A (en) * 2020-05-14 2020-08-25 杭州电子科技大学 CNN-RNN image emotion analysis method based on attention mechanism
CN111582397B (en) * 2020-05-14 2023-04-07 杭州电子科技大学 CNN-RNN image emotion analysis method based on attention mechanism
CN111950584A (en) * 2020-06-16 2020-11-17 江西中科九峰智慧医疗科技有限公司 Intelligent identification method and system for integrity of part in X-ray chest radiography
US11334769B2 (en) 2020-07-07 2022-05-17 International Business Machines Corporation Mixup image captioning
US11763544B2 (en) 2020-07-07 2023-09-19 International Business Machines Corporation Denoising autoencoder image captioning
US11651522B2 (en) 2020-07-08 2023-05-16 International Business Machines Corporation Adaptive cycle consistency multimodal image captioning
US11899881B2 (en) 2020-07-17 2024-02-13 Apple Inc. Machine learning method and system for suppressing display induced noise in touch sensors using information from display circuitry
CN111881297A (en) * 2020-07-31 2020-11-03 龙马智芯(珠海横琴)科技有限公司 Method and device for correcting voice recognition text
US11954288B1 (en) 2020-08-26 2024-04-09 Apple Inc. System and machine learning method for separating noise and signal in multitouch sensors
CN112052889A (en) * 2020-08-28 2020-12-08 西安电子科技大学 Laryngoscope image identification method based on double-gating recursive unit decoding
CN112052889B (en) * 2020-08-28 2023-05-05 西安电子科技大学 Laryngoscope image recognition method based on double-gating recursion unit decoding
CN111931719A (en) * 2020-09-22 2020-11-13 苏州科达科技股份有限公司 High-altitude parabolic detection method and device
EP3975194A1 (en) * 2020-09-24 2022-03-30 Koninklijke Philips N.V. Device at the point of imaging for integrating training of ai algorithms into the clinical workflow
WO2022063675A1 (en) * 2020-09-24 2022-03-31 Koninklijke Philips N.V. Device at the point of imaging for integrating training of ai algorithms into the clinical workflow
US11853512B2 (en) 2020-09-25 2023-12-26 Apple Inc. System and method for touch sensor panel with display noise correction
US11481070B1 (en) 2020-09-25 2022-10-25 Apple Inc. System and method for touch sensor panel with display noise correction
US11475668B2 (en) 2020-10-09 2022-10-18 Bank Of America Corporation System and method for automatic video categorization
CN112685590A (en) * 2020-12-29 2021-04-20 电子科技大学 Image retrieval method based on convolutional neural network regularization processing
WO2022212771A3 (en) * 2021-03-31 2022-12-29 Sirona Medical, Inc. Systems and methods for artificial intelligence-assisted image analysis
CN114972810B (en) * 2022-03-28 2023-11-28 慧之安信息技术股份有限公司 Image acquisition labeling method based on deep learning
CN114972810A (en) * 2022-03-28 2022-08-30 慧之安信息技术股份有限公司 Image acquisition and labeling method based on deep learning
CN117038055A (en) * 2023-07-05 2023-11-10 广州市妇女儿童医疗中心 Pain assessment method, system, device and medium based on multi-expert model
CN117038055B (en) * 2023-07-05 2024-04-02 广州市妇女儿童医疗中心 Pain assessment method, system, device and medium based on multi-expert model
CN117542467A (en) * 2024-01-09 2024-02-09 四川互慧软件有限公司 Automatic construction method of disease-specific standard database based on patient data
CN117542467B (en) * 2024-01-09 2024-04-12 四川互慧软件有限公司 Automatic construction method of disease-specific standard database based on patient data

Similar Documents

Publication Publication Date Title
WO2017151757A1 (en) Recurrent neural feedback model for automated image annotation
JP7247258B2 (en) Computer system, method and program
Wason Deep learning: Evolution and expansion
Zhou et al. Deep learning for medical image analysis
JP7193252B2 (en) Captioning image regions
Li et al. Multiscale spatio-temporal graph neural networks for 3d skeleton-based motion prediction
CN112529878A (en) Multi-view semi-supervised lymph node classification method, system and equipment
WO2017151759A1 (en) Category discovery and image auto-annotation via looped pseudo-task optimization
Xie et al. Generative VoxelNet: Learning energy-based models for 3D shape synthesis and analysis
WO2018176035A1 (en) Method and system of building hospital-scale chest x-ray database for entity extraction and weakly-supervised classification and localization of common thorax diseases
Zhou et al. Contrast-attentive thoracic disease recognition with dual-weighting graph reasoning
Chen et al. New ideas and trends in deep multimodal content understanding: A review
Zhao et al. PCA dimensionality reduction method for image classification
Wang et al. Building correlations between filters in convolutional neural networks
Franchi et al. Latent discriminant deterministic uncertainty
CN116643989A (en) Defect prediction method for carrying out deep semantic understanding by adopting graph structure
Kalash et al. Relative saliency and ranking: Models, metrics, data and benchmarks
Sheremet et al. Diagnosis of lung disease based on medical images using artificial neural networks
Singh et al. Visual content generation from textual description using improved adversarial network
Dinov Deep Learning, Neural Networks
Waseem Sabir et al. FibroVit—Vision transformer-based framework for detection and classification of pulmonary fibrosis from chest CT images
Heydarli Mobile application which makes diagnosis of lung diseases by detecting anomalies from X-Ray images
Bergum Object detection and instance segmentation of planktonic organisms using Mask R-CNN for real-time in-situ image processing.
Paine Practical considerations for deep learning
Mots' oehli et al. Deep Active Learning in the Presence of Label Noise: A Survey

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17711879

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17711879

Country of ref document: EP

Kind code of ref document: A1