Normalizing OCT image data
The described method addresses the challenge of comparing medical images from different devices by using machine learning to normalize OCT image scans, ensuring consistent resolution and noise types, which enhances diagnostic accuracy and patient care continuity.
Patent Information
- Application Number
- JP2023527723
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-12-08
- Filing Date
- 2021-10-28
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2041-10-28
AI Technical Summary
Medical facilities face challenges in comparing medical images captured using different image capture devices with varying resolutions and noise types, making it difficult for healthcare workers to analyze and diagnose effectively.
A computer-implemented method using machine learning models, specifically a combination of convolutional neural networks (CNNs) and generative adversarial networks (GANs), to normalize and transform OCT image scans into device-specific scans with consistent resolution and noise types, enabling comparison across different devices.
The method effectively normalizes OCT image scans, allowing healthcare professionals to compare images from different medical facilities with consistent image characteristics, thereby improving diagnostic accuracy and continuity of patient care.
Smart Images

Figure 0007658692000001 
Figure 0007658692000002 
Figure 0007658692000003
Abstract
Description
[Technical field]
[0001] The present invention relates generally to the field of image processing, and more specifically to normalizing scanner-independent optical coherence tomography (OCT) images to generate device-specific OCT scans. [Background technology]
[0002] Various image processing solutions employ machine learning models trained on a training set of images as deep learning networks to classify a given set of images into one of the types of images used to train the model. Deep learning models can be configured as generative adversarial networks (GANs) trained models or convolutional neural networks (CNNs), which are deep neural networks. GANs can include generator and discriminator networks used in combination to generate high-resolution, low-noise images.
[0003] Many healthcare facilities use countless different types of computing devices to capture and process images used in medical diagnoses. More and more images are uploaded to cloud servers and databases, and they come in different formats, resolutions, and noise types. It can be very challenging for healthcare professionals to compare medical images captured at different healthcare facilities using different image capture device technologies with medical images captured at their own healthcare facility that have different image characteristics. Summary of the Invention
[0004] The present invention is described in various embodiments that disclose methods, computer program products, and computer systems for generating device-specific OCT images. One embodiment of the present disclosure is a computer-implemented method for generating device-specific OCT image data, the computer-implemented method including one or more processors configured to receive, at a unified domain generator, first image data corresponding to an OCT image scan captured by one or more OCT devices, and process, by the unified domain generator, the first image data to generate second image data corresponding to a unified representation of the OCT image scan. The computer-implemented method further includes one or more processors configured to determine, by a unified discriminator, third image data corresponding to a quality subset of the unified representation of the OCT image scan having a base resolution that satisfies the first condition and a base noise type that satisfies the second condition. The computer-implemented method may further include one or more processors configured to process, by the conditional generator, the third image data to generate fourth image data corresponding to a device-specific OCT image scan having a device-specific resolution that satisfies the third condition and a device-specific noise type that satisfies a fourth condition, and output the fourth image data to a user interface of the computing device.
[0005] In one embodiment, the computer-implemented method can include one or more processors configured to determine a resolution and noise type for each of the OCT image scans and to determine the resolution and noise type for each OCT device used to capture the OCT image scans.
[0006] In one embodiment, the computer-implemented method can include one or more processors configured to determine fifth image data corresponding to a device space subset of the device-specific OCT image scan having a device-specific resolution that satisfies the third condition and a device-specific noise type that satisfies the fourth condition.
[0007] In one embodiment, the computer-implemented method can include one or more processors configured to train a unified discriminator using the unified spatial image data to generate high quality normalized OCT image scans.
[0008] In one embodiment, the second image data can be determined using a convolutional neural network (CNN) generator configured to map the OCT image scans into a unified representation.
[0009] In one embodiment, the OCT image scans can be generated by OCT devices each having one of one or more resolution values and one or more noise type values.
[0010] In one embodiment, the first criterion may be a base resolution exceeding a first predetermined threshold and the second criterion is a base noise type less than a second predetermined threshold.
[0011] In one embodiment, the third condition may be a device specific resolution within a third predetermined threshold, and the fourth condition may be a device specific noise type within a fourth predetermined threshold. [Brief description of the drawings]
[0012] [Figure 1] FIG. 1 shows a block diagram of a system for generating device-specific OCT image data, according to one embodiment of the present invention. [Diagram 2]FIG. 1 shows a block diagram of a model for generating device-specific OCT image data, according to an embodiment of the present invention. [Diagram 3] FIG. 1 shows a block diagram of a training model for generating device-specific OCT image data, according to an embodiment of the present invention. [Figure 4] 1 shows a flowchart of a computer-implemented method for generating device-specific OCT image data, according to one embodiment of the present invention. [Diagram 5] 2 illustrates a block diagram of a computing device of the system of FIG. 1 according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] The present invention addresses the problem of comparing images of the same subject captured by different image capture devices.
[0014] Embodiments of the present invention provide a system and computer-implemented method for generating device-specific OCT image scans using machine learning models. Images captured by different image capture devices have different characteristics that can vary widely across the range of image capture devices. Among the characteristics that vary, resolution and noise type are most important as they determine the amount of detail a medical practitioner can see in the image. The computer-implemented method can be configured to transform the OCT image such that the transformed image has the characteristics of another device.
[0015] In one embodiment, the method can include receiving OCT image data from different OCT image capture devices and normalizing the OCT image data to include image characteristics that are generally consistent across a full set of OCT image data. Additionally, the method can include classifying the OCT devices by resolution and noise type and mapping the OCT image scans to a unified representation using a unified domain generator network (e.g., a CNN generator). Additionally, the method can include selecting images with the lowest noise level and highest resolution, where the selected images can represent the highest quality images from the mapped OCT image scans in the unified representation. The images can be transformed using a conditional GAN, where the resolution and noise type are input parameters to the conditional GAN.
[0016] Further, the method can include using a discriminator as part of a GAN to distinguish between a normalized OCT image scan and a unified OCT image scan. Further, the method can include training a unified domain generator network (e.g., a CNN generator) to generate a high quality normalized OCT image scan, and then feeding the normalized OCT image scan to a conditional generator network that can be configured to create or generate a device specific OCT image scan according to a selected resolution and noise type. Embodiments of the present invention provide OCT device characteristics that can include, for example, axial resolution and scan speed.
[0017] A well-trained GAN, with discriminator performance of about 50% success and avoiding mode collapse, will produce a full range of random outputs across the set of possible models from the training data set. The generated outputs will be similar to the training data set samples, but usually not identical.
[0018] In one embodiment, the method uses cloud or edge cloud resources to train the generator and discriminator networks of the GAN model. After training, the GAN resides locally or on cloud or edge cloud resources for use. In use, the GAN generates random outputs according to the trained distribution function and training data set. For example, a GAN trained with images of handwritten digits will generate images of digits that appear to be handwritten. Similarly, a GAN trained with handwritten English characters will generate images that appear to be handwritten English characters, a GAN trained with images of human faces will generate images that appear to be human faces, and a GAN trained with audio files will output similar audio files. In each embodiment, the GAN generates outputs according to training, rather than simply replaying samples from the training data set. In each embodiment, the GAN creates outputs that are similar to the training data set samples, rather than simply selecting from them.
[0019] In one embodiment, the method can be configured to convert a source OCT image scan into a unified representation of the OCT image scan, where the OCT image scan can be mapped to the unified representation using a CNN generator. The method can be further configured to convert the unified representation of the OCT image scan into a target image of a desired format corresponding to a particular resolution and noise type of a particular OCT device using a GAN. This allows medical personnel to compare images of the same patient taken at different medical facilities.
[0020] An embodiment of the present invention provides a computer-implemented method for generating device specific OCT image data, which may include one or more processors configured to receive first image data at a unified domain generator, the first image data corresponding to OCT image scans captured by one or more OCT devices.
[0021] In one embodiment, the computer-implemented method can include one or more processors configured to process the first image data by a unified domain generator to generate second image data corresponding to a unified representation of the OCT image scan.
[0022] In one embodiment, the computer-implemented method may further include one or more processors configured to determine third image data corresponding to a quality subset of the unified representation of the OCT image scan having a base resolution that satisfies the first condition and a base noise type that satisfies the second condition.
[0023] The computer-implemented method may further include one or more processors configured to process the third image to generate a fourth image corresponding to a device-specific OCT image scan having a device-specific resolution that satisfies the third condition and a device-specific noise type that satisfies a fourth condition.
[0024] The computer-implemented method may further include one or more processors configured to output the fourth image to a user interface of a computing device.
[0025] In one embodiment, the computer-implemented method can include one or more processors configured to determine a resolution and noise type for each of the OCT image scans.
[0026] In one embodiment, the computer-implemented method can include one or more processors configured to determine a resolution and noise type for each OCT device used to capture the OCT image scan.
[0027] In one embodiment, the computer-implemented method can include one or more processors configured to determine fifth image data corresponding to a device space subset of the device-specific OCT image scan having a device-specific resolution that satisfies a third condition and a device-specific noise type that satisfies a fourth condition.
[0028] In one embodiment, the second image data can be determined using a convolutional neural network (CNN) generator configured to map the OCT image scans to a unified representation. The OCT image scans can be generated by OCT devices each having one of one or more resolution values and one of one or more noise type values. The first condition can be a base resolution above a first predetermined threshold, and the second condition can be a base noise type below a second predetermined threshold. The third condition can be a device specific resolution within a third predetermined threshold, and the fourth condition can be a device specific noise type within a fourth predetermined threshold.
[0029] In one embodiment, the computer-implemented method can include one or more processors configured to train a unified discriminator using unified spatial image data to generate high quality normalized OCT image scans. During training, the unified discriminator receives image data corresponding to images generated by the unified domain generator and image data corresponding to actual images corresponding to the unified representation. The actual images can include unified reference images selected from devices that generate high quality (e.g., highest resolution and lowest noise) images. The unified discriminator classifies both the generated images and the actual images and calculates a loss to penalize inaccurate classifications. Inaccurate classifications can include classifying the generated images as actual images and classifying the actual images as generated images. As a result, the generator (e.g., unified domain or conditional) is trained to create images that look like actual images.
[0030] In one exemplary scenario, a patient diagnosed with glaucoma may be monitored at a first medical facility using a first OCT device. After two years of monitoring, the patient may move their residence to another city and therefore need to be monitored at a second medical facility using a second OCT device that uses different image capture parameters (e.g., resolution, noise type) than the first OCT device. Additionally, a medical professional may need to compare a second OCT image captured at the second medical facility using the second OCT device with the first OCT image captured at the first medical facility using the first OCT device. In this case, the medical professional requests the first OCT images and applies the method of the present embodiment to the first OCT images to transform the first OCT images so that they appear to have been captured by the second OCT device. During the transformation, the resolution and noise type of the second OCT device are used to perform the transformation operation. As a result, the second site will be able to continue to monitor the progression of glaucoma diagnoses without interruption in image integrity due to changing sites and using different OCT image capture device parameters.
[0031] The present invention will now be described in detail with reference to the drawings.
[0032] FIG. 1 illustrates a block diagram of a system 100 for generating device-specific OCT image data, according to an embodiment of the present invention. FIG. 1 merely provides an example of one embodiment of the present invention and is not intended to imply any limitation with respect to the environments in which different embodiments may be implemented. In the illustrated embodiment, the system 100 includes a computing device 120, a server 125, a database 124, a unified domain generator (UDG) 130, a conditional generator 132, a unified discriminator 140, and a device discriminator 142 interconnected over a network 110. The network 110 functions as a computing network, which may be, for example, a local area network (LAN), a wide area network (WAN), or a combination of the two, and may include wired, wireless, or fiber optic connections. In general, network 110 may be any combination of connections and protocols supporting communication between computing device 120, server 125, database 124, unified domain generator (UDG) 130, conditional generator 132, unified discriminator 140, and device discriminator 142. System 100 may further include additional servers, computers, sensors, or other devices not shown.
[0033] The computing device 120 is operable to execute at least a portion of a computer program to generate device specific OCT image data. The computing device 120 is configured to send and / or receive data to the network 110 or to any other device connected to the network 110. In some embodiments, the computing device 120 can be an administration server, a web server, or any other electronic device or computing system capable of receiving and sending data. In some embodiments, the computing device 120 can be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a smartphone, or any programmable electronic device capable of communicating with the database 124, the server 125 over the network 110. The computing device 120 can include components described in more detail in FIG. 5.
[0034] The computing device 120 may be further configured to receive, store, and process the images to be processed between the unified domain generator (UDG) 130, the conditional generator 132, the unified discriminator 140, and the device discriminator 142. The computing device 120 may be configured to store the image data in memory of the computing device 120 or send the image data over a network to the database 124 or the server 125. The image data may be processed by one or more processors in communication with the computing device 120 (e.g., the unified domain generator (UDG) 130, the conditional generator 132, the unified discriminator 140, and the device discriminator 142) or by one or more processors associated with the server 125 in a cloud computing network.
[0035] The database 124 acts as a repository of data flowing to and from the network 110. Examples of data include image data, OCT image data, network data, and data corresponding to images processed in the system 100. A database is an organized collection of data. The database 124 can be implemented by any type of storage device, such as a database server, hard disk drive, or flash memory, capable of storing data and configuration files that can be accessed and used by the computing device 120. In one embodiment, the database 124 is accessed by the computing device 120 to store data corresponding to images processed in the system 100. In another embodiment, the database 124 is accessed by the computing device 120 to access user data, device data, network data, and data corresponding to images processed in the system 100. In another embodiment, the database 124 can reside anywhere in the system 100, provided that the database 124 has access to the network 110.
[0036] Server 125 may be a standalone computing device, an administration server, a web server, or any other electronic device or computing system capable of receiving, sending, and processing data and communicating with computing device 120 over network 110. In other embodiments, server 125 represents a server computing system that uses multiple computers as a server system, such as a cloud computing environment. In yet other embodiments, server 125 represents a computer system that uses clustered computers and components (e.g., database server computers, application server computers, etc.) that function as a single pool of seamless resources when accessed within system 100. Server 125 may include components described in more detail in FIG. 5.
[0037] In one embodiment, a system 100 for generating device specific optical coherence tomography (OCT) image data can include one or more processors configured to receive OCT image data (e.g., first image data) corresponding to OCT image scans captured by one or more OCT devices at a unified domain generator (UDG) 130 (e.g., a CNN generator). Input to the UDG 130 can include input image data corresponding to a unified representation of an image and OCT device parameters (e.g., resolution, noise type, noise level) of a target OCT device.
[0038] In one embodiment, system 100 can include one or more processors for processing OCT image data (e.g., first image data) by UDG 130 to generate unified image data (e.g., second image data) corresponding to a unified representation of the OCT image scans. Output from UDG 130 can include device specific image data (e.g., output image data) corresponding to the OCT image at specific OCT device parameters.
[0039] In one embodiment, the system 100 can include one or more processors for determining, by a unified discriminator (UD) 140, third image data R' corresponding to a quality subset of the unified representation of the OCT image scans having a base resolution satisfying a first condition and a base noise type satisfying a second condition belonging to the unified space. For example, the UD 140 can be configured to receive unified image data (e.g., second image data G) corresponding to the unified representation of the OCT image generated by the UDG 130 and an actual image R having image characteristics consistent with the highest quality OCT device parameters. The UD 140 can be configured to classify both the generated image and the actual image and calculate a loss to penalize inaccurate classifications. Inaccurate classifications may include classifying the generated image as an actual image and classifying the actual image as a generated image. As a result, the generator (e.g., unified domain or conditional) is trained to create images that look like actual images. The second image data can be determined using a convolutional neural network (CNN) generator configured to map the OCT image scans to the unified representation. In one embodiment, the first criterion may be a base resolution exceeding a first predetermined threshold and the second criterion is a base noise type less than a second predetermined threshold.
[0040] In one embodiment, the system 100 can include one or more processors for processing unified image data (e.g., third image data) belonging to a uniform space using a conditional generator (CG) 132 to generate device-specific image data (not shown) (e.g., fourth image data) corresponding to a device-specific OCT image scan having a device-specific resolution satisfying the third condition and a device-specific noise type satisfying the fourth condition. For example, input to the CG 132 can include unified image data corresponding to an image of the uniform representation and OCT device parameters (e.g., resolution, noise type, noise level) of a target OCT device. Output from the CG 132 can include device-specific image data corresponding to an OCT image at the specific OCT device parameters. Conditioning on the OCT device parameters enables the CG 132 to generate OCT images having any resolution, noise type, and noise level.
[0041] In one embodiment, the system 100 can include one or more processors configured to determine OCT device parameters (e.g., resolution, noise type, noise level) for each of the OCT image scans. For example, the OCT device parameters can be determined during a training phase, where the OCT device parameters are obtained from a target OCT device for which OCT images are being generated for comparison. During a testing phase, a discriminator may not be necessary. However, a user can select a target device type, resolution, noise type, and noise level, and the system 100 can be configured to sequentially execute the computer-implemented method as shown in FIG. 4 to obtain a result. For example, a user associated with the computing device 120 can interact with a user interface of the computing device 120 to input the OCT device parameters (e.g., resolution, noise type, noise level) for further processing. In another embodiment, the OCT device parameters can be determined based on image data received from an OCT device, and the image data can be processed to identify the resolution, noise type, and noise level.
[0042] In one embodiment, the system 100 can include one or more processors configured to determine the resolution and noise type for each OCT device used to capture the OCT image scan.
[0043] In one embodiment, the system 100 can include one or more processors configured to determine fifth image data corresponding to a device space subset of device-specific OCT image scans having a device-specific resolution that satisfies the third condition and a device-specific noise type that satisfies the fourth condition. In one embodiment, the OCT image scans can be generated by OCT devices each having one of the one or more resolution values and one of the one or more noise type values.
[0044] In one embodiment, the third condition may be a device specific resolution within a third predetermined threshold, and the fourth condition may be a device specific noise type within a fourth predetermined threshold.
[0045] In one embodiment, the system 100 can include one or more processors configured to train a unified discriminator using the unified spatial image data to generate high-quality normalized OCT image scans.
[0046] In one embodiment, system 100 may include one or more processors for outputting the fourth image data to a user interface of computing device 120. Additionally, any data received, processed, or generated within system 100 may be output to a user interface of computing device 120 at any stage during the implementation of the embodiments of the present description.
[0047] 1 provides a schematic diagram of a GAN 101, according to one embodiment of the present invention. As shown in the figure, a unified domain generator (UDG) 130 can be configured to generate an output G according to image data received from a network 110 used to train the UDG 130.
[0048] The GAN 101 can be configured to provide G and the actual output R to a unified discriminator (UD) 140 for consideration. The UD 140 can be configured to consider each input in turn and classify the input as real R or fake / generated G. A well-trained GAN will generate outputs from its noisy input vector that the discriminator classifies as real 50% of the time. The GAN 101 can be executed on a server computing system that uses multiple computers as a server system, such as a cloud computing environment. In yet another embodiment, the GAN 101 can be executed on a computing system (e.g., database server computers, application server computers, etc.) that uses clustered computers and components that act as a single pool of seamless resources when accessed within the system 100.
[0049] While the foregoing description and FIG. 2 illustrate implementations of a GAN model (e.g., unified domain generator 220 with unified discriminator 230, conditional generator 222 with device discriminator 232), the disclosure is not limited thereto. In at least some embodiments, model 200 can implement a trained component or trained model configured to perform the processes described above with respect to model 200. The trained component can include one or more machine learning models, including, but not limited to, one or more classifiers, one or more neural networks, one or more probability graphs, one or more decision trees, etc. In other embodiments, the trained component can include a rule-based engine, one or more probability-based algorithms, one or more mapping functions, or other types of functions / algorithms for determining whether the natural language input is a complex or non-complex natural language input. In some embodiments, the trained component can be configured to perform a binary classification when the natural language input can be classified into one of two classes / categories. In some embodiments, the trained component can be configured to perform multi-class or multinomial classification when the natural language input can be classified into one of three or more classes / categories. In some embodiments, the trained component can be configured to perform multi-label classification when the natural language input can be associated with more than one class / category.
[0050] Various machine learning techniques can be used to train components and operate trained components to perform various processes described herein. Models can be trained and operated according to various machine learning techniques. Such techniques can include, for example, neural networks (such as deep neural networks or recurrent neural networks or both), inference engines, trained classifiers, and the like. Examples of trained classifiers include support vector machines (SVMs), neural networks, decision trees, AdaBoost (short for "Adaptive Boosting") combined with decision trees, and random forests. Focusing on SVMs as an example, SVMs are supervised learning models with associated learning algorithms that analyze data and recognize patterns in the data, learning algorithms commonly used for classification and regression analysis. Given a set of training examples, each marked as belonging to one of two categories, the SVM training algorithm builds a model that assigns new examples to one category or the other, making it a non-probabilistic binary linear classifier. More complex SVM models can be built with a training set that identifies more than two categories, and the SVM determines which category is most similar to the input data. The SVM model can map examples of separate categories such that they are separated by apparent gaps. New examples are then mapped into the same space and predicted to belong to a category based on which side of the gap they fall on. The classifier can issue a "score" indicating the category to which the data most closely fits. This score can give an indication of how closely the data fits the category.
[0051] In order to apply machine learning techniques, the machine learning process itself needs to be trained. Training the machine learning component requires establishing a "ground truth" for the training examples. In machine learning, the term "ground truth" refers to the classification accuracy of a training set for supervised learning techniques. A variety of techniques can be used to train a model, including backpropagation, statistical learning, supervised learning, semi-supervised learning, probabilistic learning, or other known techniques.
[0052] FIG. 2 illustrates a block diagram of a model 200 for generating device-specific OCT image data, according to an embodiment of the present invention. The model 200 illustrates a block processing model including the GAN 101 illustrated in FIG. 1 and components that receive image data at specific stages and user input at various stages, where the user input includes OCT device-specific parameters (e.g., resolution, noise type). The model 200 can include a unified domain generator 220 configured to receive image data (e.g., OCT image scan 210). The unified domain generator 220 can be configured to receive multiple input images, create model output data (e.g., unified representation 212) as feature vectors corresponding to each image, and send the model output data to a series of fully connected layers. The output data from the fully connected layers can be representative of the classifications for full consideration. This model output data can be in the form of a confidence score or probability for each classification. In one embodiment, the OCT device parameters (e.g., resolution, noise type, noise level) can be provided to the model 200 as part of the model input data or provided separately to different channel inputs.
[0053] In one embodiment, the OCT image scan 210 can be provided to the UDG 220 (e.g., device 2U) to create a unified representation 212 (e.g., unified image data) of the OCT image scan 210. The unified representation 212 can include image data having a resolution above a predetermined threshold and a noise level below a predetermined threshold that represents a good quality image.
[0054] In one embodiment, the input image data, represented as unified representation 212 and unified space image 214, can be provided to unified discriminator 230 to distinguish between the generated unified image (e.g., unified representation 212) and the actual unified image (e.g., unified space image 214). The unified discriminator 230 can be configured to generate output data corresponding to a classification of whether the input image data belongs to the unified space. The output data can be sent to computing device 120 over network 110 for processing and display on a user interface of computing device 120.
[0055] In one embodiment, the unified representation 212 in the unified space can be provided as input image data to a conditional generator 222 (e.g., a U2 device) along with the noise type and resolution of a specific OCT device to generate output image data including the device-specific OCT scan 216. The conditional generator 222 can be configured to receive the image data in the unified space and create image data having characteristics corresponding to a specific device for a given resolution and noise type.
[0056] In one embodiment, the device discriminator 232 can be configured to receive input image data represented as a device-specific OCT scan 216 along with the noise type and resolution of a specific OCT device and generate output image data corresponding to a classification of whether the input image data belongs to device space. During the testing phase, a user can select a target OCT device type, resolution, and noise type, and the model 200 can be configured to execute the modules sequentially to obtain a result.
[0057] FIG. 3 illustrates a block diagram of a training model 300 for generating device-specific OCT image data, according to one embodiment of the present invention.
[0058] In one embodiment, the model 300 can go through a test phase in which a target device type and respective target device parameters can be selected. Once selected, the model 300 can be configured to sequentially execute the steps of the model 300 to obtain OCT images generated according to the specific device parameters. For example, the OCT image scan 310 can be provided to a unified domain generator (UDG) 320 (illustrated as device 2U) to generate image data corresponding to the unified representation 212 of the OCT image scan 310. The image data corresponding to the unified representation of the OCT image scan 310 can be provided to a conditional generator (CG) 322, which when processed with a target resolution and target noise type can be configured to generate image data corresponding to a device-specific OCT image 316.
[0059] In one embodiment, the OCT device parameters can be determined by examining the target OCT device settings during the training phase. The OCT device parameters can include resolution, noise type, and noise level.
[0060] FIG. 4 illustrates a flowchart of a computer-implemented method 400 for generating a device-specific OCT image scan, according to one embodiment of the present invention.
[0061] An embodiment of the present invention provides a computer-implemented method 400 for generating device specific OCT image data, which may include one or more processors configured to receive 402 first image data corresponding to OCT image scans captured by one or more OCT devices in a unified domain generator. In one embodiment, the computer-implemented method 400 may include one or more processors configured to determine a resolution and noise type for each of the OCT image scans. In one embodiment, the computer-implemented method 400 may include one or more processors configured to determine a resolution and noise type for each OCT device used to capture the OCT image scans.
[0062] In one embodiment, the computer-implemented method 400 can include one or more processors configured to process the first image data by a unified domain generator to generate 404 second image data corresponding to the unified representation of the OCT image scan. In one embodiment, the OCT image scans can be generated by OCT devices each having one of one of one or more resolution values and one of one or more noise type values. In one embodiment, the second image data can be determined using a convolutional neural network (CNN) generator configured to map the OCT image scan to the unified representation.
[0063] In one embodiment, the computer-implemented method 400 can further include one or more processors configured to determine (406) third image data corresponding to a quality subset of the unified representation of the OCT image scan having a base resolution that satisfies a first condition and a base noise type that satisfies a second condition by a unified discriminator. In one embodiment, the first condition can be a base resolution that exceeds a first predetermined threshold and the second condition is a base noise type that is less than a second predetermined threshold. In some embodiments, the computer-implemented method 400 can include one or more processors configured to train the unified discriminator using the unified spatial image data to generate high quality normalized OCT image scans. In some embodiments, the OCT image scans can be generated by OCT devices each having one of the one or more resolution values and one of the one or more noise type values.
[0064] The computer-implemented method 400 can further include one or more processors configured to process the third image data by a conditional generator to generate (408) fourth image data corresponding to a device-specific OCT image scan having a device-specific resolution that satisfies the third condition and a device-specific noise type that satisfies a fourth condition.
[0065] The computer-implemented method 400 may further include one or more processors configured to output 410 the fourth image data to a user interface of a computing device.
[0066] In some embodiments (not shown), the computer-implemented method 400 can include one or more processors configured to determine fifth image data corresponding to a device spatial subset of the device-specific OCT image scan having a device-specific resolution that satisfies a third condition and a device-specific noise type that satisfies a fourth condition. In one embodiment, the third condition can be a device-specific resolution within a third predetermined threshold and the fourth condition can be a device-specific noise type within a fourth predetermined threshold.
[0067] In one embodiment, the computer-implemented method can include one or more processors configured to train a unified discriminator using the unified spatial image data to generate high quality normalized OCT image scans that satisfy a fifth condition. In one embodiment, the fifth condition can be a fundamental resolution exceeding a first predetermined threshold and the second condition is a fundamental noise type less than a second predetermined threshold.
[0068] In one embodiment, the third condition may be a device specific resolution within a third predetermined threshold, and the fourth condition may be a device specific noise type within a fourth predetermined threshold.
[0069] FIG. 5 illustrates a block diagram of a computing device of system 100, in accordance with an embodiment of the present invention. FIG. 5 illustrates a block diagram of a computing device 500 suitable for computing device 120 executing GAN 101, in accordance with an exemplary embodiment of the present invention. It should be appreciated that FIG. 5 is only intended to provide an example of one embodiment and is not intended to imply any limitation with respect to the environment in which various embodiments may be implemented. Many modifications to the depicted environment may be made.
[0070] The computing device 500 includes a communications fabric 502 that provides communication between a cache 516, memory 506, persistent storage 508, a communications unit 510, and input / output (I / O) interface(s) 512. The communications fabric 502 may be implemented by any architecture designed to convey data or control information, or both, between a processor (e.g., a microprocessor, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components in the system. For example, the communications fabric 502 may be implemented by one or more buses or crossbar switches.
[0071] Memory 506 and persistent storage 508 are computer readable storage media. In this embodiment, memory 506 includes random access memory (RAM). In general, memory 506 may include any suitable volatile or non-volatile computer readable storage medium. Cache 516 is a high-speed memory that improves the performance of computer processor(s) 504 by holding recently accessed data from memory 506 and data adjacent to the accessed data.
[0072] Programs may be stored in persistent storage 508 and memory 506 for execution and / or access via cache 516 by one or more respective computer processors 504. In one embodiment, persistent storage 508 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 508 may include a solid state hard drive, a semiconductor storage device, a read only memory (ROM), an erasable programmable read only memory (EPROM), a flash memory, or any other computer readable storage medium capable of storing program instructions or digital information.
[0073] The media used by persistent storage 508 may also be removable. For example, a removable hard drive may be used for persistent storage 508. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 508.
[0074] In these examples, communications unit 510 provides for communication with other data processing systems or devices. In these examples, communications unit 510 includes one or more network interface cards. Communications unit 510 may provide for communications through the use of either or both physical and wireless communications links. Programs described herein may be downloaded to persistent storage 508 through communications unit 510.
[0075] The I / O interface(s) 512 allow for input and output of data with other devices that may be connected to the computing device 500. For example, the I / O interface 512 may provide a connection to external devices 518, such as an image sensor, a keyboard, a keypad, a touch screen, or some other suitable input device or all of the above. The external devices 518 may further include portable computer-readable storage media, such as thumb drives, portable optical or magnetic disks, memory cards, and the like. Software and data 514 used to implement embodiments of the present invention may be stored on those portable computer-readable storage media and downloaded to the persistent storage 508 via the I / O interface 512. The I / O interface(s) 512 may further be connected to a display 520.
[0076] Display 520 provides a mechanism for displaying data to a user and may be, for example, a computer monitor.
[0077] The software and data 514 described herein are identified based on the application for which they are implemented in a particular embodiment of the invention, but it should be recognized that any specific program terminology used herein is used merely for convenience, and thus the invention should not be limited to use in any particular application identified and / or implied by those terms.
[0078] The present invention may be embodied as a system, method, or computer program product, or combination thereof, at any possible level of technical detail. The computer program product may include a computer readable storage medium or media having computer readable program instructions for causing a processor to perform aspects of the present invention.
[0079] A computer readable storage medium may be any tangible device capable of holding and storing instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves having instructions recorded thereon, and any suitable combination of the above. As used herein, a computer-readable storage medium is not to be construed as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., light pulses through a fiber optic cable), or an electrical signal sent through a wire.
[0080] The computer readable program instructions described herein may be downloaded from a computer readable storage medium to each computing / processing device or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, or a wireless network, or a combination thereof. The network may include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or a combination thereof. A network adapter card or network interface in each computing / processing device receives the computer readable program instructions from the network and transfers the computer readable program instructions for storage in a computer readable storage medium in the respective computing / processing device.
[0081] The computer readable program instructions for carrying out the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including object oriented programming languages such as Smalltalk, C++, and procedural programming languages such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on a remote computer or server. In the last scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer readable program instructions to individualize the electronic circuitry by utilizing state information of the computer readable program instructions to perform aspects of the invention.
[0082] Aspects of the present invention are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0083] These computer readable program instructions may be provided to a computer processor or other programmable data processing apparatus to produce a machine such that the instructions executed by the computer processor or other programmable data processing apparatus create means for performing the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams. These computer program instructions, which may direct a computer, programmable data processing apparatus or other device or combination thereof to function in a particular manner, may also be stored in a computer readable medium such that the computer readable storage medium having instructions stored thereon includes an article of manufacture including instructions that perform aspects of the functions / operations specified in one or more blocks of the flowcharts and / or block diagrams.
[0084] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to generate a computer-implemented process, such that the instructions executing on the computer or other programmable apparatus, or other device, perform the functions / operations specified in one or more blocks of the flowcharts or block diagrams, or both.
[0085] The flowcharts and block diagrams in the figures illustrate the architecture, functionality and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment or part of instructions, including one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions shown in the blocks may occur in a different order than that shown in the figures. For example, depending on the functionality involved, two blocks shown in succession may actually be executed simultaneously, substantially simultaneously, in a partially or fully overlapping manner in time, or the blocks may even be executed in reverse order in some cases. It should also be noted that each block in the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by a special-purpose hardware-based system that performs the specified functions or operations or executes a combination of dedicated hardware and computer instructions.
[0086] The description of various embodiments of the present disclosure has been presented for illustrative purposes, but they are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terms used in this specification have been selected to best explain the principles, practicality, or technical improvements over the art found in the marketplace of the embodiments, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. 1. A method for generating device-specific optical coherence tomography (OCT) image data by computer processing, comprising: receiving, by one or more processors, at a unified domain generator, first image data corresponding to OCT image scans captured by one or more OCT devices; processing, by the one or more processors, the first image data through the unified domain generator to generate second image data corresponding to a unified representation of the OCT image scan; determining, by the one or more processors, third image data corresponding to a quality subset of the unified representation of the OCT image scan having a base resolution that satisfies a first condition and a base noise type that satisfies a second condition using a unified discriminator; processing, by the one or more processors, the third image data using a conditional generator to generate fourth image data corresponding to a device-specific OCT image scan having a device-specific resolution that satisfies a third condition and a device-specific noise type that satisfies a fourth condition; outputting the fourth image data to a user interface of a computing device; The method includes:
2. 2. The method of claim 1, wherein the second image data is determined using a Convolutional Neural Network (CNN) generator configured to map the OCT image scan to the unified representation.
3. The method of claim 1 , wherein each of the OCT image scans is generated by one of the one or more OCT devices, each having a respective resolution value and a respective noise type value.
4. 2. The method of claim 1, wherein the first condition is the base resolution exceeding a first predetermined threshold and the second condition is the base noise type being less than a second predetermined threshold.
5. 2. The method of claim 1, further comprising determining, by the one or more processors, fifth image data corresponding to a device space subset of the device-specific OCT image scan having the device-specific resolution and the device-specific noise type by a device discriminator.
6. 2. The method of claim 1, wherein the third condition is the device specific resolution within a third predetermined threshold, and the fourth condition is the device specific noise type within a fourth predetermined threshold.
7. 2. The method of claim 1, further comprising training, by the one or more processors, the unified discriminator using unified spatial image data to generate high quality normalized OCT image scans.
8. A computer program comprising computer readable program instructions causing a computer to carry out a method according to any one of claims 1 to 7.
9. 9. A computer readable storage medium having stored thereon the computer program product of claim 8.
10. 1. A computer system for generating device specific OCT image data, comprising: one or more computer processors; one or more computer readable storage media; program instructions stored on said one or more computer readable storage media for execution by at least one of said one or more processors; Equipped with The program instructions include: program instructions for receiving, at a unified domain generator, first image data corresponding to OCT image scans captured by one or more OCT devices; program instructions for processing, by the unified domain generator, the first image data to generate second image data corresponding to a unified representation of the OCT image scan; program instructions for determining, by a unified discriminator, third image data corresponding to a quality subset of the unified representation of the OCT image scan having a base resolution that satisfies a first condition and a base noise type that satisfies a second condition; program instructions for processing the third image data using a conditional generator to generate fourth image data corresponding to a device-specific OCT image scan having a device-specific resolution that satisfies the third condition and a device-specific noise type that satisfies a fourth condition; program instructions for outputting the fourth image data to a user interface of a computing device; Including, Computer system.
11. 11. The computer system of claim 10, wherein the second image data is determined using a Convolutional Neural Network (CNN) generator configured to map the OCT image scan to the unified representation.
12. 11. The computer system of claim 10, wherein each of the OCT image scans is generated by one of the one or more OCT devices, each having a respective resolution value and a respective noise type value.
13. 11. The computer system of claim 10, wherein the first condition is the base resolution exceeding a first predetermined threshold, the second condition is the base noise type less than a second predetermined threshold, the third condition is the device specific resolution within a third predetermined threshold, and the fourth condition is the device specific noise type within a fourth predetermined threshold.
14. 11. The computer system of claim 10, further comprising program instructions for determining, by a device discriminator, fifth image data corresponding to a device space subset of the device-specific OCT image scan having the device-specific resolution and the device-specific noise type.
15. The computer system of claim 10 , further comprising program instructions for training the unified discriminator using unified spatial image data to generate high quality normalized OCT image scans.
Citation Information
Patent Citations
Image processing device, ophthalmologic imaging device, image processing method, and program
JP2019088382A
Signal normalization among multiple optical coherence tomography devices
US20160100755A1