There are many cases in which 2-D images, or frames, are applied in art, medicine, manufacturing, computer-aided design (CAD), animation, motion pictures, and computer-aided simulation, etc. There are many instances in which a user may wish to synthesize a frame from known data. To name a few examples: a data frame in a sequence of frames may be missing, corrupted, or inadvertently deleted. A subject may move during data collection, resulting in one or more distorted frames. A data collection system may operate in only one mode at a time, providing data in a single-mode, when additional modes of data are desired. An operator may wish to estimate what another mode of data collection would have looked like, given an input image.
To consider one such example in more detail: a clinician, while performing a recent, annual T-2 weighted Mill scan for a patient that presented with epileptic seizures, notices an indication of a tumor. When a T-1 weighted scan is also performed, the tumor's current morphology is revealed. However, the clinician would like to know about the tumor's growth rate, from a prior time, unfortunately, no T-1 weighted scan is available. The clinician can access the T-2 weighted Mill image depicting the same area from the prior year. The clinician would like to estimate morphology from the prior year. The clinician would like to estimate the T-1 weighted Mill data would have looked like, given the T-2 weighted Mill data that was collected in the prior year. Accordingly, there is a need in this and similar circumstances for a method that synthesizes, even with clinical accuracy, an image frame such as a T-2 weighted MRI image from an available image frame such as a T-1 weighted Mill image.
Aspects of the technology described in the present application are described in detail below with reference to the attached drawing figures, wherein:
The subject matter of the present disclosure is described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the terms “step” and/or “block” may be used herein to connote different elements of methods employed, the terms should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
As one skilled in the art will appreciate, embodiments of this disclosure may be embodied as, among other things: a method, system, or set of instructions embodied on one or more computer-readable media. Accordingly, the embodiments may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware. In one embodiment, the present technology takes the form of a computer-program product that includes computer-usable instructions embodied on one or more computer-readable media.
This disclosure is related to the use of an Artificial Neural Network (ANN) such as a Convolutional Neural Network (CNN), or a Generative Adversarial Network (GAN) to perform image synthesis. An ANN is a computer processing module in hardware or software that is inspired by elements similar to those found in a biological neuron. For example, a variable input vector of length N scalar elements v1, v2, . . . vn are weighted by corresponding weights wi, and to an additional bias b0, and passed through hard or soft non-linearity function h( )to produce an output. In an embodiment, the nonlinearity is for example a sign function, a tanh function, a function that limits the maximum or minimum value to a programmable threshold output level, or a ReLU function. An ANN may produce output equal to h(v1*w1+v2*w2+ . . . +vn*wn+b0). Such networks “learn” based on the inputs and a weight adjustment method. Weights may be adjusted iteratively based on evaluating the ANN over a data set while modifying the weights in accord with a learning object. Generally, an ANN with a plurality of layers is known as a deep network.
A Convolutional Layer is a layer of processing in a convolutional neural net hierarchy. A layer is a set of adjacent ANNs that have a small and adjacent receptive field. Typically a CNN has several defined layers. In an embodiment, a layer attribute such as identity, interconnection definitions, layer characteristics, layer type, number of layers may be set within a CNN component. The number of layers, for example, can be chosen to be 6, 16, 19, 38, or another suitable number.
A CNN is an ANN that performs operations using convolution operations, typically for image data. CNN may have several layers of networks that are stacked to reflect higher level neuron processing. A layer in a CNN may be fully connected or partially connected to a succeeding layer. One or more layers may be skipped in providing a layer output to a higher layer. The convolutions may be performed with the same resolution as the input, or a data reduction may occur through the use of a stride different from 1. The output of a layer may be reduced in resolution through a pooling layer. A CNN may be composed of several adjacent neurons, which process inputs in a receptive field that is much smaller than the entire image. Examples of CNN components include ZF Net, AlexNet, GoogLeNet, LeNet, VGGNet, VGG, ResNet, DenseNet, etc.
A Corpus is a collection of samples of data of the same kind, wherein each sample has two-dimensional (e.g., pixel), three dimensional (e.g., voxel), or N-dimensional extent. A collection may be formed for example from similar types of samples, that have a common set of attributes. Attributes of a sample may include the portion of anatomy (brain, head, heart, spine, neck, etc.), the mode or modality of the collection (FLAIR, T1-Weighted, T2-Weighted, PD-weighted, structural MRI, CT), the underlying technology (Magnetic Resonance Imaging (MRI), photograph, X-ray, Computer-Aided Tomography (CAT), Graphic Sequence, animation frame, game frame, simulation frame, CAD frame, etc.). Attributes further may include the date, subject condition, subject age, subject gender, technician collecting data, etc.
An entropy loss term is a term quantifying an amount of disorder. As an objective function argument, an entropy loss can be defined in various ways to meet an objective criterion that quantifies distance from an objective.
A GAN is a network of ANN elements that includes at least a generator network such as g( ) and a discriminator network such as dg( ). The generator network maps an input source domain sample x to form a synthesized output ŷ that approximates a target domain sample y. The discriminator network dg( ) judges whether a mapped output is real or fake. The generative adversarial network is then optimized by adjusting weights within both dg( ) and g( ) while maximizing the entropy at the output of the discriminator dg( ) but minimizing the entropy at the output of the generator g( ).
A bidirectional GAN may have dual-arranged synthesizers, that is, in addition to a first generator g( ) and a first discriminator dg( ), also includes a second generative network f( ) that operates in the reverse direction, approximating an inverse to the first generator g( ) by mapping an output target domain sample y to form a synthesized input {circumflex over (x)} that approximates a source domain sample x, A bidirectional GAN may also include a second discriminator df( ) that judges whether a pseudo-input is real or fake. In a bidirectional GAN, the mappings can be composed to form a pseudo sample that is based on both composed mappings. A pseudo-input x′ is given by f(g(x)). A pseudo-output y′ is given by g(f(y)).
A norm is a generally positive length measure over a vector space. In an embodiment, a norm comprises a semi-norm. A 2-norm is the square root of the sum of the squares of the vector elements. A 1-norm is the sum of the absolute values of the vector elements. A p-norm is a quantity raised to the 1/p power that includes a sum of the absolute values of the vector elements, wherein each absolute value of an element is raised to the p power. An infinity norm is the max over the vector elements of the absolute value of each vector element.
A Residual Neural Network (RNN) is an ANN that feeds the neural output to a layer beyond the adjacent layer, skipping one or more intervening layers, so that the receiving layer forms a result that includes a neural input from a non-adjacent preceding layer
A Segmentor is a network that segments the pixels of an image or voxels of a volume into a number of segment classes, e.g. class c1, c2, c3, . . . The output of a segmentor operating may be a set of class labels or a probability vector that reflects a probability that the pixel or voxel is a member of each of the segment classes.
Computer-readable media can be any available media that can be accessed by a computing device and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media comprises media implemented in any method or technology for storing information, including computer-storage media and communications media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or non-transitory technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
Computer storage media does not comprise signals per se. Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
In one aspect, an apparatus is disclosed to synthesize images. A computer program operating in the memory of a computer executes instructions to use a first image generator network to synthesize an image. The first image generator network is formed based on training that creates a generator network capable of propagating textures that are present in a source image to a target image. Texture propagation may be achieved by using a bidirectional generative adversarial network that includes a first image generator network and a second image generator network that is an approximate inverse of the first generator network. To form the first generator network, the processing is performed over a first corpus of samples in a source domain and a first corpus of signals in a target domain.
In another aspect, a method is disclosed to train a first image generator network by receiving a corpus of source samples and a corpus of target samples. A first generator network estimate is formed based on texture propagation. Texture propagation propagates textures that are found in the source image to a target image. A bidirectional generative adversarial network is used to form a first generator network estimate and a second generator network estimate using information contained in a corpus of source samples and the corpus of target samples.
In another aspect, an apparatus is disclosed to synthesize images. The apparatus includes a first generator configured to operate on an input source image to produce an output target image. The first generator network was formed by texture propagation and a shape prior constraint. A bidirectional generative adversarial network is trained that comprises a first generator network and a second image generator network that is an approximate inverse to the first generator network. The two image generator networks are iteratively modified by processing training data (e.g., pixels or voxels) per an entropy loss that comprises a texture entropy loss term and a segmentation cross entropy loss term.
In an embodiment, a Brain Generative Adversarial Networks (BrainGAN) is used to explore multi-modality brain MRI synthesis. The BrainGAN is formulated by introducing a unified framework with new constraints which can enhance modality matching, texture details, and anatomical structure simultaneously. This tailors GANs towards the problem of Brain MRI allowing BrainGAN to learn meaningful tissue representation with rich variability of brain MRI. In addition to generating 3D volumes that are appearance-indistinguishable from real ones, adversarial discriminators and segmentors are modeled jointly, along with the proposed cost functions which force our networks to synthesize brain MRI more practically with realistic textures conditioned on anatomical structures. BrainGAN is evaluated on three datasets, where it consistently outperforms the state-of-the-art approaches by a large margin, advancing multi-modality image synthesis in brain MRI both visually and practically.
Image synthesis is the process of transforming image representation from a source domain into a target one. It is appealing to explore such technology since medical imaging is often expensive, time-consuming, and can be hampered by many factors e.g., obsolete equipment, variations among patients, changes in protocols, and vendors, making it hard to collect at a large scale. Furthermore, the diversity and advantages of multi-modality images (e.g. brain MRI) are of great importance to developing comprehensive models for clinical analysis and enriching data augmentation, which in turn improves the quality of diagnosis.
Generally, prior methods have difficulties in modeling complex patterns of irregular distributions with modality variations. Prior methods have difficulties in producing results with satisfactory quality. For example, the obtained representation either emphasizes fidelity of synthesized appearance or 3D shape structure, but not both. Other issues in prior methods include poor PSNR, contrast, conformity of shape structures, or spatial relationships.
In an embodiment, brain image generative networks (BrainGAN) are designed to customize a GAN-based framework for multi-modality brain MRI synthesis. A number of technical contributions associated with BrainGAN enable the task of multi-modality brain MRI synthesis efficiently and practically. Brain images are used in general to illustrate BrainGAN; however, the model or the technologies of BrainGAN is applicable to other tasks. Contributions include: extending GANs to feeding volumetric neuroimaging in a bidirectional generative-adversarial way subjected to the cycle-consistency constraint, allowing it to work in an unsupervised manner; introducing a unified framework with constraints that enhance domain matching, shape structure, and texture details simultaneously, allowing for learning meaningful tissue information for multi-modality MRI representation; formulating constraints within a modular GAN framework by using multiple loss functions, which drives a network to synthesize MRI images conditioned to the targeted anatomy. Experiments indicate consistently improved performance in images, e.g. of the brain.
A GAN comprises of a generator G and a discriminator D, which take noise samples z from a prior probability distribution pz, and transform them by using a deterministic differentiable neural network G(·), where G(·) is learned to approximate the distribution of training samples x˜Pdata. The mapping function G (z)˜Pg is learned from a low-dimensional latent space to an image space by mapping pz to the distribution of generated images pg. D is optimized to discriminate between real images drawn from a distribution of Pdata and the generated ones drawn from pg. G is trained to imitate x, and is ideally supposed pg to be identical with Pdata. The learning process is iterated, by using a minimax objective between G and D, via (G, D)=x·Pdata [log D(x)]+z˜Pz [(log1−D(G(z)))], where GAN is usually trained with gradient-based methods through taking minibatch of fake generations via G and minibatch of real samples.
Turning now to
In an embodiment, GDA 120 serves as a graphical control for inputting an object from a source domain and indicating the characteristics of the input object such as the associated source domain of the input object. In an embodiment, a header or file name extension of the input object indicates the type of source domain represented by the input object. An input object such as a source domain image is identified to synthesizer 420 as the input image from a source domain, e.g. Domain A. A user selects an object, e.g. by use of a computer pointing device, selecting an object from a source domain and dragging the object over GDA 120, thus informing synthesizer 420 of a desire to generate an output object to be displayed in OBDA 150.
Synthesizer display area 140 displays a description of a pre-determined synthesizer 420 that is capable of generating an output target domain image from an input source domain image. In an embodiment, a description includes an attribute of synthesizer 420 such as a title (e.g. BrainGAN23), a model developer name, a list of supported modes, an image context, several segment classes, a description of training data used, a date, etc. In an embodiment, synthesizer 420 has a predetermined output domain setting, such as Domain B, and so synthesizer 420 generates an output object in accord with the output domain setting, such as Domain B, and displays the output object in OBDA 150.
In an embodiment, domain selector control 130 comprises one or more of a list box 132, a radio button selector 134, and a domain input field 136. A user activates list box 132 by selecting the down-arrow list control and scrolling through several supported domains to select a particular member of the list such as “domain B” for output. List box 132 illustrates the availability of multiple different Domains: domain A, domain B, . . . domain N. Likewise radio button selector 134 allows the user to select a single output domain such as Domain A shown. Domain input field 136 allows the user to type in a description or designator for the desired output domain.
Turning now to
Operator program 226 functions to present to the user a display screen 110 using display module 270, and also to receive user indications from the user through user interface module 283. Operator program 226 retrieves the input source image from database 214 and displays a representation of the input source image in GDA 120. Operator program 226 reads the attributes of model 224 and presents a description of the attributes of model 224 to the user in synthesizer display area 140. Operator program 226 receives a user indication such as a domain selection received in domain selector control 130, indicating a desire to generate an output image in a determined target domain. Operator program 226 selects an appropriate model such as model 224 from a library 272 and loads the model 224 into synthesizer 420. Appropriate model selection considers one or more of a source image domain attribute, target domain image attribute, user indication of the desired model, a recently used model, user feedback indicating acceptable or unacceptable past behavior by a model, etc. In an embodiment, operator program 226 selects a performing model from library 272 that meets one or more user indicated aspects of a model. Operator program 226 uses the synthesizer 420 to synthesize an output target image, which the operator program 226 then displays in OBDA 150.
Library 272 generally includes all data and objects used or referenced by system 200. Portions of library 272 are residents for example in database 214 or database 280. Library 272 includes, for example, models, model definitions, model status, model context, supported model modes, and supported model classes, software, software development SDK's, software APIs, CNN libraries, CNN development software, etc.
Synthesizer 420, when loaded with an appropriate model 224 is configured to synthesize a target domain image from a source domain image. Model 224 generally includes attributes that define an operational synthesizer 420 that includes weights and biases of one or more ANNs defining one or more of a generator 422, a generator 424, a segmentor 436, and a segmentor 446. The weights and biases of an ANN are stored in their usable form, e.g. through prior configuration and training by the operation of synthesizer trainer 221. Synthesizer 420 includes generator 422 and generator 424 that have been trained in a bidirectional generative adversarial network configuration. Since the training of generator 422 and generator 424 are simultaneously trained within a bidirectional generative adversarial network as described herein concerning
Synthesizer trainer 221 is configured to define and configure synthesizer 420 for training. Synthesizer trainer 221, using component selector 289, selects individual components used in training such as descriptor 470, descriptor 460, generator 422, generator 424, segmentor 436, segmentor 446, discriminator 452 and discriminator 454. Component selector 289 presents the user with a component identity option for a synthesizer or trainer component, and receives an indication to define a component to have a particular form, such as a specific CNN to be used as a component. Layer selector 285 defines a layer to be used by the synthesizer trainer 221. Based on user selection, the layer selected is used within a user-selected context such as a layer to output to another layer, or a layer attribute definition, or a particular layer to be used for feature extraction, or to be used in a loss calculation. Parameter definition module 222 defines and stores parameter settings that are used for training based on user input. Examples of parameters include the relative weighting of loss calculations in a combined loss calculation, the stride number in a convolutional layer, the number of layers in a CNN, the type of layer in a CNN, the type of layer to be used (e.g. partially connected, fully connected, pooling, etc.), the size of the discriminator, the kernel size to be used, the activation method, learning rate, weight modification method, the solver to be used for training, the mini-batch size, etc. Model developer module 223 presents to the user the content of a model definition, describing the corpus defined by corpus definition module 211, the parameters defined by parameter definition module 222, the layers selected for use by layer selector 285, the components selected for use by component selector 289, the estimator selected by feature estimator 287. Model developer module 223 also displays the status of models as partially defined, completely defined, trained, validated, history of use, history of success, history of failure, etc.
In an embodiment, synthesizer 420 makes use of generator 422 or generator 424 with a particular operational configuration. In an embodiment, a generator consists of 3 convolutional layers with strides of 1, 2, 2 as the front-end, 6 residual blocks, 2 fractionally-strided convolutions with stride of ½, and 1 convolutional layer as the back-end with stride of 1. Convolution-BatchNorm-ReLU is applied except for the output layer which uses the tanh activation at the end. Each of the 6 residual blocks contains two convolutional layers with 128 filters on each layer. In one embodiment, 7×7×7 volumetric kernels are used for the first and last layers, and 3×3×3 kernels are used for the remaining layers.
In an embodiment, synthesizer 420 makes use of discriminator 452 or discriminator 454 that has a particular operational configuration. In an embodiment, instead of modeling a full image-sized discriminator, the patch size may be fixed as 70×70×70 in an overlapped manner, and use the stack of convolution-BatchNorm-Leaky ReLU layers to train the discriminative network. The discriminator is run convolutionally across the volumes, and the final results are computed by averaging all responses.
In an embodiment, synthesizer 420 makes use of segmentor 436 or segmentor 446 that has a particular operational configuration. In an embodiment, a segmentor is implemented as a deconvolution operation. In an embodiment, a layer skip architecture is employed for the segmentor. In an embodiment, all layers of the segmentor are adapted. In an embodiment, a segmentor is trained on a per-pixel basis. In an embodiment, a segmentor is validated with standard metrics.
Turning to
Discriminator 452 operates with the knowledge of segment membership taken from segmentor 436 to determine if pseudo target object 434 and synthesized object 432 are real or fake. Discriminator 454 operates with knowledge of segment membership taken from segmentor 446 to determine if synthesized object 442 and pseudo source object 444 are real or fake. Descriptor 470 estimates features over samples X in the source domain corpus and stores the feature estimates in feature data store 412. A descriptor network such as 470 also estimates features by operating on the synthesized target Y and stores the feature estimates in feature data store 412. Descriptor 460 estimates features over samples Y in the target domain corpus and stores feature estimates in feature data store 414. A descriptor network such as descriptor 460 also estimates features by operating on synthesized source g and stores the feature estimates in feature data store 414.
Synthesizer trainer 221 uses descriptor 470 to form generator 422 based on texture propagation. Feature data at feature data store 412 is used in the formation of generator 422. The features stored in feature data store 412 influence the development of generator 422 and/or generator 424. Synthesizer trainer 221 uses descriptor 460 to form generator 424 based on texture propagation. Feature data at feature data store 414 is used in the formation of generator 424. The features stored in feature data store 414 influence the development of generator 424 and/or generator 422. In an embodiment, synthesizer trainer 221 effects feature influence by using a texture propagation entropy loss term as grounds to modify the values of the weights and biases present in an ANN contained within a generator, thus propagating the features from a source domain to a target domain in the creation of a generator. In an embodiment, descriptor 470 and descriptor 460 are implemented as CNN deep networks, such as visual geometry group (VGG) networks. Descriptors such as descriptor 470 and descriptor 460 comprise feature maps that are processed during training to preserve local textural details at convolutional layers. For example, by training with a texture propagation objective, generator 422 causes a source image to propagate textural details from a source image to a target image, thus achieving texture propagation.
In an embodiment, feature maps such as the feature maps of descriptor 460 or descriptor 470 are compared at a modeling layer L. In an embodiment, the feature maps at layer L are compared to other feature maps at layer L. In an embodiment, all feature maps at layer L and below are compared to all feature maps at layer L and below. The feature maps at layer L that model features of a target domain sample within descriptor 460 are compared to the feature maps at layer L that model features of a synthesized source domain sample (e.g. object 442), also within descriptor 460. The feature maps at layer L that model features of a source domain sample in descriptor 470 are compared to the feature maps at layer L that model a synthesized target domain sample (e.g. object 432), also within descriptor 470. An entropy loss term that quantifies an objective for optimization is calculated from the norm of the difference between the feature maps at layer L within Descriptor 470, added to a norm of the difference between the feature maps at layer L within Descriptor 460. In an embodiment, the 1-norm is used for such an entropy loss term.
Synthesizer trainer 221 uses segmentor 436 to effect a shape prior constraint in the development of the weights and biases of generator 422. In an embodiment, segmentor 436 extracts shape information from target domain samples such as object 432 and object 434. Likewise, segmentor 446 extracts shape information from source domain samples such as object 442. In an embodiment, synthesizer trainer 221 operates discriminator 452 and generator 422 by measuring segmented versions of Y over the corpus of target domain samples and segmented versions of the synthesized target Ŷ over the source domain corpus. In an embodiment, synthesizer trainer 221 operates discriminator 454 and generator 424 by measuring segmented versions of X over the corpus of source domain samples and segmented versions of synthesized source domain sample {circumflex over (X)} over the target domain corpus. In an embodiment, synthesizer trainer 221 effects shape prior constraint by using a shape prior entropy loss term as grounds to modify the values of the weights and biases present in an ANN contained within generator 422 and generator 424, thus forming generator 422 and generator 424 with, a shape prior constraint. In an embodiment, segmentor 436 and segmentor 446 forms a segmentation cross entropy term that calculates cross entropy loss across a set of classes. In an embodiment, the set of classes includes Cerebrospinal Fluid, Gray Matter, and White Matter.
Synthesizer trainer 221 effects domain matching by comparing the high-level features from layers in a deep network in the source domain and target domains to rectify a mismatch between source and target domains. In an embodiment, the high-level features of descriptor 470 that pertain to the source domain are compared to the high-level features of descriptor 460 that pertain to the target domain to calculate the distance between kernel mean embeddings. In an embodiment, a Maximum Mean Discrepancy (MMD) criterion is integrated into an adversarial training objective. In an embodiment, an empirical estimation is adopted to form a loss term that compares the high-level features of the source domain to the high-level features of a target domain based on a Gaussian kernel with a bandwidth parameter. In an embodiment, the MMD criterion is only adopted for features in the two highest layers. In an embodiment, the MMD criterion is adopted only incorporating features for the three highest layers. In an embodiment, the MMD criterion is adopted for the feature of all layers but the three lowest layers. In an embodiment, the MMD criterion is adopted for the features of all layers but the two lowest layers. In an embodiment, the MMD criterion is adopted based on a predetermined set of layers based on data structure analysis. In an embodiment, a domain matching criterion reduces domain discrepancy. In an embodiment, a domain matching criterion matches all orders of statistics for the high-level features that can be matched by using a loss term that affects the gradient search of the generative network through backpropagation. In an embodiment, an MMD criterion is adopted for a predetermined set of M layers.
Returning to
Feature estimator 287 operates to estimate features of a source domain sample or a target domain sample. In an embodiment, features of a domain are determined by feature estimator 287 based on a selected CNN that is trained with a corpus of domain samples. In an embodiment, features are extracted by feature estimator 287 by using statistical feature extraction methods such as nonparametric feature extraction, or unsupervised clustering. In an embodiment, features are extracted by feature estimator 287 using a descriptor neural network such as descriptor 470 or descriptor 460. In an embodiment, feature estimator 287 estimates the features of a descriptor CNN over a corpus from a domain.
Protocol module 295 operates to perform link, network, transport, session, presentation, and application layer protocols. Using protocol module 295, computer program modules on computer 250 send and receive data from sensors such as scanner 212, camera 213, local database 214, and remote database 280, and with computer programs running on remote computer 290 through network 230.
Synthesizer trainer 221 may perform training over a corpus of source domain samples and a corpus of target domain samples. Corpus definition module 211 receives a user indication of the scope of training samples to define a corpus of source domain samples to be used in training. For example, a user selects samples of attributes of a domain such as 3D, brain, healthy, T1-weighted MRI, etc. Corpus definition module 211 stores these selected attributes. Corpus definition module 211 then searches database 214 or database 280 to find samples that meet the domain criteria supplied by the user, reflecting one or more of the selected attributes. The results of the search are presented to the user in descending order of level of matching the selected attributes, and the user indicates which samples are to be included in training. Corpus definition module 211 similarly receives a target domain description from a user and based on user indication or approval defines a corpus of target domain samples. In an embodiment, a user selects an incremental estimation option, and a corpus of samples is incrementally increased by one sample as each new sample is supplied to the system, resulting in an incremental modification of the weights and biases of an ANN within synthesizer 420.
In an embodiment, given a set of unpaired training samples in the source domain and the target domain, X={Xi}iS=1m×n×t×s and y={Yj}jT=1 ∈m×n×t×s respectively, the task is to construct a bidirectional framework, i.e., X↔, that allows for data transformation between two domains in an unsupervised manner. m and n are the dimensions of axial view of volumetric images, t denotes the size of images along the z-axis, while S and T are the numbers of samples in the training sets from the source and target domains. Two mappings are constructed: G:X→ and F:→X in the voxel space, and then the generations of G and F can be represented as Ŷ=G(X) and {circumflex over (X)}=F(Y). The corresponding discriminators DG and DF are constructed to distinguish the fake generations associated with G and F.
In an embodiment, a system uses a bidirectional GAN. To transform an image from X ∈ X to Y ∈ a GAN model includes a mapping function G:X→ is formulated with the expected target Ŷ=G(X), along with a discriminator DG. Similarly, the inverted task can be learned via F:→X having {circumflex over (X)}=F(Y) judged by the discriminator DF. Instead of working with 2D stacks, in an embodiment, 3D volumes are directly used here to ensure the intrinsic sequential information between consecutive slices. The adversarial losses of our bidirectional mapping functions are jointly expressed in the volumetric space via b(DG,DF,G,F)=(G,DG)+(F, DF). b forms a unified framework between two domains and extends the unidirectional volumetric GANs into a bidirectional system.
In an embodiment, the adversarial losses of both mapping functions are jointly expressed in the volumetric space, e.g., according to Eq.1.
b(DG, DF, G, F)=Y·Pdata(Y)[log DG(Y)]+˜Pdata(X)[log(1−DG(G(X)))]+x˜Pdata(X)[log DF(X)]+Y˜Pdata(Y)[log (1−DF(F(Y)))] Eq. 1
This function forms a simple closed loop between two losses which extends the volumetric GANs into a dual learning manner and joint representations into a unified framework. In the unsupervised dual learning problem, one typical property is to force both learnings from each other to produce the pseudo-source. This is done by generating X′for task X→ and Y′ for task =X respectively, where X′=F(Ŷ)=F(G(X)) and Y′=G({circumflex over (X)})=G(F(Y)).
Turning to
In an embodiment, synthesizer 420 is formed by incorporating one or more of a domain discrepancy reduction computed at block 330, a texture propagation computed at block 340, a shape prior constraint computed at block 345, a bidirectional constraint, and a cycle consistency constraint. In an embodiment, synthesizer 350 is formed by iteratively modifying weights and biases within an ANN performing generator 422 and within an ANN performing generator 424.
At block 320, the corpus of source samples and the corpus of target samples are used to produce estimates of features in the source domain and to produce estimates of features in the target domain. In an embodiment, the features of the synthesized source domain and the features of the synthesized target domains are estimated at block 320. In an embodiment, at block 320, the features are recognized within descriptor 470 which may include a CNN with six or more layers. In an embodiment, at block 320, the features are recognized within descriptor 460 which may include a CNN with six or more layers. In an embodiment, at block 320, only the features of a predetermined number M of the layers are selected for a constraint. In an embodiment, the M selected layers are the highest layers. In an embodiment, the M selected layers are the lowest layers. In an embodiment, the M selected layers are determined by statistical feature evaluation that determines the importance of the selected features for transfer.
At block 330 a discrepancy between the source and the target domains is reduced. A set of layers is determined in the source domain and in the target domain, e.g. a set of M layers in CNN descriptor 470, and CNN descriptor 460. At block 330 a method is performed to reduce the domain discrepancy, such as applying an MMD criterion. In an embodiment, the distance between the mean embeddings of the features of the selected M layers is normed to form an entropy loss term.
At block 340, texture propagation is employed to form estimates of a first generator network and a second generator network, wherein the first generator network and the second generator network are configured in a bidirectional generative adversarial network such as synthesizer 420. In an embodiment, at block 340 feature correlations are made. In an embodiment, feature correlations are made in a deep neural network. In an embodiment, the features of the source domain and the synthesized target domain are modeled in descriptor 470. In an embodiment, the features of the target domain and the synthesized sourced domain are modeled in descriptor 460. In an embodiment, feature correlations include comparing the feature maps of a synthesized target at layer L to the feature maps of a source domain at a layer L. In an embodiment, a comparison comprises a first difference term formed by subtracting the feature maps pertaining to a source domain at a layer L of descriptor 470 from the feature maps pertaining to a synthesized target domain at a layer L of descriptor 470. In an embodiment, feature correlations include comparing the feature maps of a synthesized source at layer L to the feature maps of a target domain at layer L. In an embodiment, a comparison comprises a second difference term formed by subtracting the feature maps pertaining to a target domain at a layer L of descriptor 460 from the feature maps pertaining to a synthesized source domain at a layer L of descriptor 460. In an embodiment, the feature maps of layer L include all feature maps of a descriptor less than or equal to a layer L. In an embodiment, a texture loss term is formed by the sum of a norm of the first difference term and a norm of the second difference term. In an embodiment, a 1-norm is used in a texture loss term.
At block 345 a shape prior constraint is applied in the formation of image generator network 422. Segmentor 436 extracts shape information from synthesized object 432, and target domain sample Y. Segmentor 446 extracts shape information from a source domain sample and synthesized source object 442. In an embodiment, at block 345, a segmentation cross entropy loss term is calculated that quantifies cross entropy loss across predetermined segment classes. In an embodiment, the classes include a set of brain tissue classes including one or more of the border, background, gray matter (GM), cerebrospinal fluid (CSF), and white matter (WM). In an embodiment, training of synthesizer 420 results in the production of two output synthesizers. At block 342 a first generator 422 is produced for synthesizer 420 that produces target domain images from source domain images. At block 344, a second generator 424 is produced for synthesizer 420 that produces source domain images from target domain images.
At synthesizer 350, an estimate of synthesizer 420 is formed, including generator 422 and generator 424 by incorporating information from a source domain corpus and information from a target domain corpus into synthesizer 420 through training. An exemplary method 500 for training synthesizer 420 by synthesizer trainer 221 is shown in
Preparatory training operations include, for example, the synthesizer trainer 221 placing model definitions for the selected model into memory, determining fixed components, determining components to be trained, determining batch size, determining a component training sequence (if any), initializing weights and biases into components to be trained, selecting a batch of source samples from the source sample corpus and a batch of target samples from the target sample corpus, and applying selected batches to synthesizer 420. In an embodiment, a learning rate of 0.0002 is set. In an embodiment, different corpus pairs of source corpus and target corpus are identified for each step of training.
In an embodiment, a training sequence includes a descriptor training step, a segmentor training step, and a bidirectional GAN training step. In a descriptor training step descriptors 460 and 470 are trained by an iterative process to approximate the features of the source domain in a descriptor for the source domain and in a descriptor for the synthesized source domain, and also to approximate the features of the target domain in a descriptor for the target domain and in a descriptor for the synthesized target domain. The descriptors for the source and target domains are then fixed, and the descriptors for the synthesized target domain and synthesized source domain are initialized to be used in the bidirectional GAN training step. In the segmentor training step segmentors 436 and 446 are trained by an iterative process to correctly identify the classes defined. Segmentors 436 and 446 are then fixed for the bidirectional training step. In the bidirectional training step the descriptor of the synthesized sourced domain, the descriptor of the synthesized target domain, generator 422, generator 424, discriminator 452, and discriminator 454 are all identified as components to be trained, and the method of 500 is invoked.
In an embodiment, synthesizer trainer 221 determines that descriptor 470, descriptor 460, generator 422, generator 424, segmentor 436, segmentor 446, discriminator 452, and discriminator 454 are all components to be trained, and no component training sequence is defined, and the method of 500 is invoked.
Method 500 generally involves calculating one or more loss functions at 510, 520, 530, 540, 550, 560, determining if the loss is acceptable at 570, and if not iterating by returning to the beginning of the iteration loop after modifying weights and biases at 590. When the loss is acceptable generator 422 and generator 424 have been determined at 580. A new batch of source domain samples and a new batch of target domain samples are taken into the iteration loop and applied to system 400 before new loss calculations are performed, e.g. at a return to 510. At 590 the weights and biases of the components being trained are modified in each iteration of the loop to search for an improved set of weights and biases. In an embodiment, the modification is made in accordance with stochastic gradient descent. In an embodiment, the Adam solver is used for training. In an embodiment, the mini-batch size of 1 is used.
At 570 a test is performed to determine if the loss computed is acceptable. In an embodiment, the test simply determines if more iteration loops were planned, if yes, then the test determines that loss is not acceptable and the method proceeds to 590. In an embodiment, the average loss over some number of iterations is calculated, and when the average loss has been approximately equal for some period of time, the loss is determined to be acceptable and the method proceeds to 580.
At 510 a bidirectional loss Lb is calculated. At 520 a cycle consistency loss Lc is calculated. To address the ill-poseness of an unsupervised setting of unpaired domain images, a volumetric cycle-consistency loss is used, to add constraints on the mutual translations. That is, by generating X′ for task X→ and Y′ for task →X, where X′=F(Ŷ)=F(G(X)) and Y′=G({circumflex over (X)})=G(F(Y)). The volumetric cycle-consistency can be modeled as Eq. 2 under the l1 distance.
L
c(X,G,,F)=X·P
At 530 a domain matching loss is calculated. The cycle-consistency constraint can drive unpaired image mapping from one modality to the other and vice versa, by assuming that the distributions of two modalities are approximately domain invariant. The latent representations disentangle explanatory factors of domain variations, but the multi-modality domain discrepancy still remains. Therefore, the assumption is not strong enough for very heterogeneous domain matching. To rectify the mismatch and design a model toward better generalization on diverse datasets, the solution space can be constrained by introducing a domain matching term. In an embodiment, the Maximum Mean Discrepancy (MMD) criterion is used and integrated into the adversarial training objective, e.g., according to Eq. 3, where MMD is defined to measure distance in a squared reproducing kernel Hilbert space (RKHS) between the kernel mean embeddings of X and y. ø(·) is a nonlinear feature mapping which induces a RKHS , while AX and AY are the deep features of X and Y learned from a VGG network, e.g. employed at descriptor 470 and at descriptor 460.
MMD(Ax, AY)∥x[ø(Ax)]−y[ø(Ay)]∥H2 Eq. 3
However, in the original MMD, the expectations of AX and AY are difficult to calculate in an infinite-dimensional kernel space ø(·). An empirical estimation may be obtained according to Eq. 4, where
denotes the Gaussian kernel defined on AX and AY with bandwidth parameter σ.
In an embodiment, the domain matching loss is the empirical estimator at a subset of M layers using a parameter σ. In an embodiment, a bandwidth parameter is adaptively modified. In an embodiment, a bandwidth parameter is estimated from scatter calculations over a feature space.
At 540 a texture loss is calculated. In addition to synthesize the main context of an image such as that involving a brain, a key issue in multi-modality synthesis is to ensure that texture details in an image from the source modality can be propagated correctly into the target. However, GANs-based approaches generally suffer from the limitation of preserving textural details for image synthesis, while meaningful texture information is of great importance for clinical analysis of brain Mitt To enhance such detailed information, a texture loss is designed to adopt feature correlations in a deep network and preserve local textural details at convolutional layers, e.g., according to Eq. 5, where N is the VGG network, e.g. descriptor 460 or descriptor 470, l represents the features maps of a certain layer.
L
t(G,F)=X˜p
In an embodiment, the VGG network has six layers. In an embodiment, all feature maps are included in Lt for all layers of an underlying VGG network, deployed for example at descriptor 470 and at descriptor 460.
At 550 a shape prior constraint is calculated. In an embodiment, shape prior information is used for image analysis. In an embodiment, shape prior information is used through semantic segmentation approaches. In an embodiment, shape information is extracted for multimodality brain images. It can provide rich semantic context and meaningful insights that assist other related tasks for the better understanding anatomical structure of the brain. For multi-modality brain Mill synthesis, a key desirable ability is to preserve strong anatomical structure across different image modalities of the same subject. In an embodiment, shape prior information is obtained by feeding generations from G and F into their discriminators DG and DF, and two segmentors Sx and SY. The shape prior constraint can be formulated, e.g., according to Eq. 6, where Ls(·) refers to a segmentation cross entropy loss, and eik denotes one-hot encoding corresponding to the i-th example volume within the k-th tissue class.
At 560 an objective function is determined as a goal of iterative training. In an embodiment, the objective function is determined as a combined loss function. An iteration model In an embodiment, considers domain matching, texture details, and anatomical structure, e.g. for brain MRI synthesis. A loss can be formulated as a minimax adversarial objective, e.g., according to Eq. 7, where δ, γ, λ and β are the weight parameters which balance the cycle-consistency loss, MMD, shape prior loss and texture loss, respectively.
In an embodiment, a mini-batch of size 1 is used with manually set the weight parameters as: δ=10, γ=0.3. λ=1, β=10. In an embodiment, the above equation can be optimized by alternatively maximizing the discriminators, and minimizing a combination of bidirectional mapping loss, with multiple designed constraints.
Turning to
In one embodiment, experiments were performed to evaluate BrainGAN over three datasets: IXI (http://brain-development.org/ixi-dataset/), NAMIC Multimodality (http://hdl.handle.net/1926/1687), and BraTS (https://www.med.upenn.edu/sbia/brats2018/data.html) datasets. The IXI dataset contains 578 healthy subjects, while the NAMIC dataset includes 10 normal controls and 10 schizophrenic cases. The BraTS 2015 dataset has 220 brain tumor subjects. In one embodiment, BrainGAN is evaluated in three scenarios, which were designed based on the observed mismatch between source and target domains: (1) PDT2 on the IXI dataset, (2) T1T2 on the NAMIC dataset, (3) FLAIRT1 on the BraTS.
Quantitatively, the selection may include 239 unpaired PD-w and T2-w MRI from the IXI dataset, 8 unpaired T1-w, T2-w acquisitions from the NAMIC dataset, and 90 unpaired T1-w and FLAIR data for training. The remaining data: 100 (IXI), 4 (NAMIC), and 40 (BraTS) are used for testing. For FCN, both real scans and the synthesized results may be used to produce three main brain tissue classes: Cerebrospinal Fluid (CSF), Gray Matter (GM), and White Matter (WM), giving the averaged quantification of a brain volume. The tissue prior probability templates are based on averaging multiple automatic segmentation results in the standard image space, and thus there is no guarantee that CSF, GM, and WM will exactly follow other methods. For evaluation criteria, one may use PSNR, SSIM and Dice score to compare the results.
BrainGAN may be compared against other synthesis methods. One may use default values for them, empirically to reach the best performance on a given set. In one embodiment, both visual and quantitative results are evaluated in different cases. First, visual results are compared with PSNR and SSIM values. BrainGAN can generate sharper anatomical structure and more clear texture details, resulting in significantly higher PSNR and SSIM values than previously proposed approaches. Second, when to compare the performance of T1FLAIR and T2PD transformations, BrainGAN obtained clear performance improvements over the other methods in the term of PSNR and SSIM. Third, quantitative evaluations were on three datasets. BrainGAN consistently outperforms recent approaches, by a large margin. In addition, it also has clear improvements over a GAN-based baseline demonstrate the advantages of a proposed embodiment of brain-specific constraints.
In system 700, GANs are extended to feeding volumetric neuroimaging in a bidirectional generative-adversarial way subjected to the cycle-consistency constraint, allowing it to work in an unsupervised manner. Further, system 700 uses a unified framework with new constraints that enhance domain matching, shape structure, and texture details simultaneously, allowing for learning meaningful tissue information for multi-modality MRI representation. The proposed constraints are formulated within a modular GAN framework by using multiple loss functions, which drives system 700 to synthesize MM images conditioned to the targeted anatomy.
In various embodiments, GANs consist of a generator G and a discriminator D, which take noise samples z from a prior probability distribution Pz, and transform them by using a deterministic differentiable neural network G⊙, where G⊙is learned to approximate the distribution of training samples x˜P
In system 700, network 750 (denoted as G) and network 760 (denoted as F) are configured to collectively perform bidirectional mapping functions using 3D volumes 710 and 720 (denoted as X and Y). 3D volume 730 (denoted as Ŷ) denotes the first generated results while 3D volume 740 (denoted as X′) is its dual generations. Network 790 (denoted as DG) is the discriminator corresponding to G. Network 780 (denoted as S) is a segmentor, and c denotes the cycle-consistency loss. Network 770 (denoted as N) is a deep convolutional network for object recognition (e.g., VGG network).
Given a set of unpaired training samples in the source domain and the target domain, X={Xi}iS=1 ∈m×n×t×S and ={Yj}jT=1 ∈m×n×t×S respectively, system 700 is to construct a bidirectional framework, i.e., X←, that allows for data transformation between two domains in an unsupervised manner. Using m and n to denote the dimensions of an axial view of volumetric images, t to denote the size of images along the z-axis, S and Tto denote the numbers of samples in the training sets from the source and target domains, two mappings (G:X→ and F:→X) are constructed in the voxel space. The generations of G and F may be represented as Y =G(X) and X =F(Y). The corresponding discriminators DG and DF are constructed to distinguish the fake generations associated with G and F.
Regarding the bidirectional generations, to transform an image from X ∈ X to Y ∈ using GANs model, a mapping function G:X→ is formulated with the expected output Ŷ=G(X), along with a discriminator DG. Similarly, the inverted task can be learned via F:→X having {circumflex over (X)}=F(Y) judged by the discriminator DF. System 700 enables 3D volumes to be used directly to ensure the intrinsic sequential information between consecutive slices. The adversarial losses of the bidirectional mapping functions are jointly expressed in the volumetric space via b(DG,DF,G,F)=(G, DG)+(F, DF). b forms a unified framework between two domains and extends the unidirectional volumetric GANs into a bidirectional system.
Further, to address issues of an unsupervised setting of unpaired domain images, system 700 uses a volumetric cycle-consistency loss, to add constraints on the mutual translations. By generating X′ for task X→ and Y′ for task →X, where X′=F(Ŷ)=F(G (X)) and Y′=G({circumflex over (X)})=G(F(Y)). The volumetric cycle-consistency may be modeled, e.g., according to Eq. 2 above under the l1 distance.
Regarding domain matching, the cycle-consistency constraint can drive unpaired image mapping from one modality to the other and vice versa, by assuming that the distributions of two modalities are approximate domain invariant. The latent representations disentangle explanatory factors of domain variations, but the multi-modality domain discrepancy remains.
To rectify the mismatch and design a model toward better generalization on diverse datasets for heterogeneous domain matching, system 700 constrains the solution space by introducing a domain matching term. The Maximum Mean Discrepancy (MMD) criterion is integrated into the adversarial training objective, e.g., according to the Eq. 3 above.
This equation is defined to measure distance in a squared reproducing kernel Hilbert space (RKHS) between the kernel mean embeddings of X and , Ø⊙ is a nonlinear feature mapping which induces a RKHS , while AX and AY are the deep features of X and Y learned from VGG network. However, in the original MMD, the expectations of AX and AY are difficult to calculate in an infinite-dimensional kernel space Ø⊙. Instead, the empirical estimation may be obtained, e.g., according to the Eq. 4 above.
Regarding texture propagation, in addition to synthesize the main context of the brain, a key issue in multi-modality synthesis is to ensure that texture details in an image from the source modality can be propagated correctly into the target. However, GANs-based approaches commonly suffer from the limitation of preserving textural details for image synthesis, while meaningful texture information is of great importance for clinical analysis of brain MRI. To enhance such detailed information, system 700 uses a texture loss which adopts feature correlations in a deep network and preserve local textural details at convolutional layers, e.g., according to the Eq. 5 above.
Further, shape prior information is critical to brain image analysis and semantic segmentation approaches, for extracting shape information from multi-modality brain images. It can provide rich semantic context and meaningful insights that assist other related tasks for better understanding the anatomical structure of the brain. For multi-modality brain MRI synthesis, a key desirable ability is to preserve strong anatomical structure across different image modalities of the same subject. To do that, system 700 feeds generations from G and F into their discriminators DG and DF, and two segmentors SX and SY, as illustrated in
System 700 jointly considers domain matching, texture details and anatomical structure for brain MRI synthesis. The objective function in system 700 can be formulated as a minimax adversarial objective, e.g., according to Eq. 7 above. Further, this object function can be optimized by alternatively maximizing the discriminators, and minimizing a combination of bidirectional mapping loss, with multiple designed constraints.
System 700 contains generators, discriminators, and segmentors. In one embodiment, the generator consists of 3 convolutional layers with strides of 1, 2, 2 as the front-end, 6 residual blocks, 2 fractionally-strided convolutions with stride of ½, and 1 convolutional layer as the back-end with stride of 1. Convolution-BatchNorm-ReLU is applied except for the output layer which uses the tanh activation at the end. Each of the 6 residual blocks contains 2 convolutional layers with 128 filters on each layer. In one embodiment, 7×7×7 volumetric kernels are used for the first and last layers, and 3×3×3 for the remaining layers. In one embodiment, instead of modeling a full image-sized discriminator, the discriminator in system 700 uses the patch size as 70×70×70 in an overlapped manner, and uses the stack of convolution-BatchNorm-Leaky ReLU layers to train the discriminative network. In one embodiment, the discriminator is configured to run convolutionally across the volumes, and the final results are computed by averaging all responses. In one embodiment, a learning rate of 0.0002 is set for the segmentor. In one embodiment, Stochastic Gradient Descent is applied with the Adam solver for training. In one embodiment, system 700 uses a mini-batch of size 1, and manually sets the weight parameters as: δ=10, γ=0.3. λ=1, β=10.
Turning briefly to
In an embodiment, an external graphics component 745 is provided in addition to or in place of a graphics component internal to processor(s) 830 and couples to other components through bus 810. A Bios flash ROM is contained within processor(s) 830. Processor(s) 830 can store instructions and data elements in storage 855, which includes internal disk storage or external cloud storage, or make use of I/O port 850 to store on a USB disk, or make use of networking interface 880 for remote storage. User I/O components 860 such as a communication device, a mouse, a touch screen, a joystick, a touch stick, a trackball, or keyboard, coupled to processor(s) 830 through bus 810 as well. The system architecture depicted in
In some embodiments, computing system 800 is a computing system made up of one or more computing devices. Computing system 800 may be a distributed computing system, a data processing system, a centralized computing system, a single computer such as a desktop or laptop computer or a networked computing system.
Many different arrangements of the various components depicted, as well as components not shown, are possible without departing from the scope of the claims below. Implementations of the disclosure have been described with the intent to be illustrative rather than restrictive. Alternative implementations will become apparent to readers of this disclosure after and because of reading it. Alternative means of implementing the aforementioned can be completed without departing from the scope of the claims below. Certain features and sub-combinations are of utility and may be employed without reference to other features and sub-combinations and are contemplated within the scope of the claims.
For example, in conjunction with specificity requirements and for clarity, the processing performed in a bidirectional GAN was stated in terms of sample, and generally a voxel was an example of a sample. In some embodiments, a sample is a 2-D image or a 2-D portion of an image.
Additionally, the disclosed processes generally are applicable to unsupervised and unpaired data. In an embodiment, training is performed in a supervised manner. In an embodiment, training is performed using paired data.
Furthermore, In an embodiment, a selection of an input object includes a selection of a frame picture in a 3D object, such as a 3D brain scan, and outputting a corresponding picture in a synthesized 3D object that has been produced by 3D synthesis.
An embodiment stores in library 272 predetermined segmentors 436 and 446 that are fixed throughout adversarial generative training. Texture propagation is performed on each class after segmentation.
In an embodiment, a global registry of models and data is stored in database 280 and available through computer 290 through network 230 such as the internet, or the world-wide-web. A user is then able to browse models available in database 280, and to load a model into a synthesizer. A user can perform searches of samples over database 280 and to define a corpus over available samples.
In an embodiment, texture details are preserved by copying low-level feature maps from a deep network that represents an input image, and the adaptation system operates by modeling only upper layers. In an embodiment, the lowest two layers are copied. In an embodiment, the lowest three layers are copied.
In an embodiment, a completed model 224 includes segmentors 436 and 446, generators 422 and 424. Thus a model supports embedded segmentation of both source and target images, and supports forward generation through generator 422 or approximate inverse generation through generator 424.
The first general example is an apparatus for synthesizing images. The apparatus comprising a memory having computer programs stored thereon and a processor configured to perform, when executing the computer programs, operations comprising: generating an output target image from an input source image via a first image generator network that is formed based on texture propagation in a bidirectional generative adversarial network that comprises the first image generator network and a second image generator network which is an approximate inverse of the first image generator network, wherein the formation of the first generative network includes processing performed over a corpus of source samples in a source domain and over a corpus of target samples in a target domain.
This sub-example may include the subject matter of the first general example and any one of its sub-examples, wherein the texture propagation causes a source image to propagate texture details from a source image to a target image by using feature maps of a deep network acting as a descriptor to preserve local textural details at convolutional layers.
This sub-example may include the subject matter of the first general example or any one of its sub-examples, wherein the feature maps comprise feature maps at a layer L modeling features of a target domain sample which are correlated to feature maps at a layer L modeling features of a synthesized source domain sample and feature maps at a layer L modeling features of a source domain sample which are correlated to the feature maps at a layer L modeling features of a synthesized target domain.
This sub-example may include the subject matter of the first general example or any one of its sub-examples, wherein the first image generator network and the second image generator network are iteratively modified in accordance with an entropy loss that comprises a texture entropy loss term that employs a 1-norm.
This sub-example may include the subject matter of the first general example or any one of its sub-examples, wherein the first image generator network is formed based on a shape prior constraint.
This sub-example may include the subject matter of the first general example or any one of its sub-examples, wherein the shape prior constraint extracts shape information from a target domain sample using a target domain segmentor and extracts shape information from a source domain sample using a source domain segmentor.
This sub-example may include the subject matter of the first general example or any one of its sub-examples, wherein the entropy loss further comprises a segmentation cross entropy loss term.
This sub-example may include the subject matter of the first general example or any one of its sub-examples, wherein the segmentation cross entropy loss term calculates cross entropy loss across a set of brain tissue classes comprising at least one of Cerebrospinal Fluid, Gray Matter and White Matter.
This sub-example may include the subject matter of the first general example and any one of its sub-examples, wherein the entropy loss further comprises at least one of a domain matching loss term, a cycle consistency loss term, and a bidirectional loss term.
This sub-example may include the subject matter of the first general example and any one of its sub-examples, wherein the source domain is a first mode of data collection and the target domain is a second and distinct mode of data collection pertaining to subjects with one or more similar attributes.
This sub-example may include the subject matter of the first general example and any one of its sub-examples, wherein a sample comprises a voxel.
Another example may include one or more non-transitory computer-readable media comprising instructions to cause an apparatus, upon execution of the instructions by one or more processors of the apparatus, to perform any one of the operations associated with the first general example and any one of its sub-examples.
Another example may include an apparatus comprising means to perform any one of the operations associated with the first general example and any one of its sub-examples.
Another example may include a method to perform any one of the operations associated with the first general example and any one of its sub-examples.
The second general example comprises a method of training a first image generator network comprising: receiving a corpus of source samples in a source domain and a corpus of target samples in a target domain, forming a first generator network estimate based on texture propagation through bidirectional generative adversarial network estimation using the information contained in the corpus of source samples and in the corpus of target samples.
This sub-example may include the subject matter of the second general example and any one of its sub-examples, wherein the texture propagation causes a source image to propagate texture details from a source image to a target image by using feature maps of a deep network acting as a descriptor to preserve local textural details at convolutional layers.
This sub-example may include the subject matter of the second general example and any one of its sub-examples, wherein the feature maps comprise feature maps at a layer L modeling features of a target domain sample which is correlated to feature maps at a layer L modeling features of a synthesized source domain sample and feature maps at a layer L modeling features of a source domain sample which is correlated to feature maps at a layer L modeling features of a synthesized target domain sample.
This sub-example may include the subject matter of the second general example and any one of its sub-examples, wherein the first image generator network and the second image generator network are iteratively modified in accordance with an entropy loss that comprises a texture entropy loss term that employs a 1-norm.
This sub-example may include the subject matter of the second general example and any one of its sub-examples, wherein the first image generator network estimate is further based on a shape prior constraint, the shape prior constraint extracts shape information from a target domain sample using a target domain segmentor and extracts shape information from a source domain sample using a source domain segmentor, the entropy loss further comprises a segmentation cross entropy loss term that calculates cross entropy loss across a set of brain tissue classes comprising at least one of cerebrospinal fluid, gray matter and white matter.
This sub-example may include the subject matter of the second general example and any one of its sub-examples, wherein the entropy loss further comprises at least one of a domain matching loss, a cycle consistency loss, and a bidirectional loss.
This sub-example may include the subject matter of the second general example and any one of its sub-examples, wherein the source domain is a first mode of data collection and the target domain is a second and distinct mode of data collection pertaining to subjects with one or more similar attributes.
This sub-example may include the subject matter of the second general example and any one of its sub-examples, wherein a sample comprises a voxel.
Another example may include one or more non-transitory computer-readable media comprising instructions to cause a computer, upon execution of the instructions by one or more processors of the computer, to perform the method of the second general example and any one of its sub-examples.
Another example may include an apparatus comprising means to perform the method of the second general example and any one of its sub-examples.
The third general example is an apparatus for synthesizing images, comprising: a first generator configured to operate on an input source image to produce an output target image, the first generator network having been formed by employing texture propagation and a shape prior constraint through the training of a bidirectional generative adversarial network that comprises the first image generator network and a second image generator network which is an approximate inverse of the first image generator network, wherein the first image generator network and the second image generator network are iteratively modified by processing an input voxel in accordance with an entropy loss that comprises a texture entropy loss term and a segmentation cross entropy loss term.
Another example may include one or more non-transitory computer-readable media comprising instructions to cause an apparatus, upon execution of the instructions by one or more processors of the apparatus, to perform any one of the operations associated with the third general example and any one of its sub-examples.
Another example may include an apparatus comprising means to perform any one of the operations associated with the third general example and any one of its sub-examples.
Another example may include a method to perform any one of the operations associated with the third general example and any one of its sub-examples.
Another example may include a process image synthesis as shown and described herein.
Another example may include a system for image synthesis as shown and described herein.
Another example may include a device for image synthesis as shown and described herein.
The foregoing description of one or more implementations provides illustration and description, but is not intended to be exhaustive or to limit the scope of the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of various implementations of the invention.
This application claims the benefit of U.S. Provisional Application No. 62/871,722, filed Jul. 9, 2019, entitled “Image Synthesis with Generative Adversarial Network,” and U.S. Provisional Application No. 62/871,724, filed Jul. 9, 2019, entitled “3D Image Synthesis System and Methods,” the benefit of priority of which is hereby claimed, and which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
62871722 | Jul 2019 | US | |
62871724 | Jul 2019 | US |