Correction of flow projection artifacts in OCTA volumes using neural networks

A neural network-based approach corrects flow artifacts in OCTA volumes, addressing the challenge of decorrelation tails in OCT and OCTA images, enabling accurate blood vessel visualization and quantification with improved efficiency.

JP7611932B2Active Publication Date: 2025-01-10CARL ZEISS MEDITEC INC +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2022559745
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-03-30
Filing Date
2021-03-26
Publication Date
2025-01-10
Estimated Expiration
2041-03-26

AI Technical Summary

Technical Problem

Optical coherence tomography (OCT) and OCT angiography (OCTA) images are prone to flow projection artifacts, particularly decorrelation tails, which interfere with the accurate interpretation of retinal angiography results due to high scattering properties of blood vessels, leading to incorrect rendering of blood vessel locations and challenges in visualization and quantification.

Method used

A neural network-based method is employed to correct flow artifacts in OCTA volumes by analyzing structural and flow data, using a trained neural network to generate artifact-free OCTA volumes, independent of segmentation and suitable for arbitrary slab formation, enabling faster processing and improved visualization in both healthy and diseased subjects.

Benefits of technology

The method effectively reduces flow projection artifacts, allowing for accurate visualization and quantification of blood vessels in OCTA images, overcoming limitations of traditional handcrafted techniques by providing faster and more reliable results with reduced computational burden.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007611932000001
    Figure 0007611932000001
  • Figure 0007611932000002
    Figure 0007611932000002
  • Figure 0007611932000003
    Figure 0007611932000003
Patent Text Reader

Abstract

The system and / or method uses a trained U-Net neural network to remove flow artifacts from optical coherence tomography (OCT) angiography (OCTA) data. The trained U-Net receives both OCT structural volume data and OCTA volume data as input, but extends the OCTA volume data to include depth information. The U-Net applies dynamic pooling along the depth direction, more heavily weighting portions of the data that follow (e.g., along the contour) a selected retinal layer. In this manner, the U-Net applies contextually distinct calculations at different axial locations based at least in part on depth index information and / or proximity to (e.g., a selected retinal layer). The U-Net outputs OCT volume data with reduced flow artifacts compared to the input OCTA data.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates generally to improving optical coherence tomography (OCT) and OCT angiography images, and more particularly to removing flow artifacts / decorrelation tails in OCT-based images. [Background technology]

[0002] Optical coherence tomography (OCT) is a non-invasive imaging technique that uses light waves to generate cross-sectional images of tissues, such as retinal tissue. For example, OCT allows for the observation of characteristic tissue layers of the retina. In general, OCT systems are interferometric imaging systems that determine the scattering profile of a sample along the OCT beam by detecting the interference of light reflected from the sample with a reference beam that generates a three-dimensional (3D) representation of the sample. Each scattering profile in the depth direction (e.g., z-axis or axial direction) is individually reconstructed into an axial scan or A-scan. Cross-sectional two-dimensional (2D) images (B-scans), and extended 3D volumes (C-scans or cube scans) can be constructed from multiple A-scans acquired as the OCT beam is scanned / moved through a set of transverse (e.g., x-axis and y-axis) positions on the sample. OCT also allows for the construction of en face view (e.g., en face) 2D images of selected portions of a tissue volume (e.g., a target tissue slab or target tissue layer(s) of the retina). An extension of OCT is OCT angiography (OCTA), which identifies (e.g., renders in an image format) blood flow in tissue layers. OCTA can identify blood flow by identifying differences (e.g., contrast differences) over time in multiple OCT images of the same retinal region and designating differences that meet predefined criteria as blood flow.

[0003] OCT is susceptible to different types of image artifacts, including decorrelation tails or shadows, where structures / configurations (e.g., tissue or angiogenesis) in higher tissue layers produce “shadows” in lower tissue layers. In particular, OCTA is prone to flow projection artifacts, where images of blood vessels may be rendered in the wrong location. This may be due to the high scattering properties of blood in the overlying vessels, generating artifacts that interfere with the interpretation of retinal angiography results. In other words, deep tissue layers may have projection artifacts due to varying shadows cast by blood flowing into the large internal retinal vessels above them, causing fluctuations in the reflected signal. The signal fluctuations may be misinterpreted as (blood) flow that cannot be easily distinguished from true flow.

[0004] Methods have been developed to overcome these problems, which attempt to overcome these problems by correcting artifacts in predefined and generated en face slabs or by correcting artifacts in the OCT volume. Examples of slab-based methods for correcting projection artifacts in en face slabs include "Analyzing the OCT volume with a slab-based projection system" (p. 2002), ...

[0005] Examples of volume-based methods for correcting projection artifacts in OCT volumes are described in commonly assigned US Pat. No. 6,393,436; US Pat. No. 6,493,665; US Pat. No. 6,521,131; and US Pat. No. 6,633,362, all of which are incorporated herein by reference in their entirety. Generally, volume-based methods overcome some of the problems found in slab-based methods and allow visualization of corrected flow data in planes other than the (target) en face slab (e.g., in a B-scan) as well as processing of the corrected volume data. However, volume-based methods are time-consuming as they require analysis of large 3D data arrays and rely on hand-crafted assumptions that are not valid for all vascular manifestations.

[0006] What is needed is a volume-based method of flow artifact correction that is fast and provides results as good as industry-established slab-based methods, but that does not rely on segmentation and is not hindered by other limitations of slab-based methods. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] U.S. Pat. No. 10,441,164 [Non-patent literature]

[0008] [Non-Patent Document 1] H Bagherinia et al., "A Fast Method to Reduce Decorrelation Tail Artifact in OCT Angiography", Investigative Ophthalmology & Visual Science, 2017, 58(8), 643-643 [Non-Patent Document 2] Zhang Q et al., "Projection Artifact Removal Improves Visualization and Quantitation of Macular Neovascularization Imaged by Optical Coherence Tomography Angiography," Ophthalmol Retina, 2017, 1(2), 124-136 [Non-Patent Document 3] Anqi Zhang et al., "Minimizing projection artifact for accurate presentation of choroidal neovascularization in OCT micro-angiography," Biomedical Optics Express, 2015, Vol. 6, No. 10 [Non-Patent Document 4] Zhang M et al., "Projection-resolved optical coherence tomography angiography," Biomed Opt Express, 2016, No. 7, Vol. 3 [Non-Patent Document 5] Hwang TS et al., "Visualization of 3 Distinct Retinal Plexuses by Projection-Resolved Optical Coherence Tomography Angiography in Diabetic Retinopathy," JAMA Ophthalmol, 2016, 134(12) [Non-Patent Document 6] Nesper PL et al., "Volume-Rendered Projection-Resolved OCT Angiography: 3D Lesion Complexity is Associated with Therapy Response in Wet Age-Related Macular Degeneration," Invest Ophthalmol Vis Sci, 2018, Vol. 59, No. 5 [Non-Patent Document 7] Fayed AE et al., "Projection Resolved Optical Coherence Tomography Angiography to Distinguished Flow Signal in Retinal Angiomatous Proliferation from Flow Artifact," PLOS ONE, 2019, 14(5) Summary of the Invention

[0009] It is an object of the present invention to provide a volume-based flow artifact correction method that provides faster results than are achievable with current methods. Another object of the present invention is to provide a method of flow artifact correction that achieves similar results as the custom mathematical formula approach, but is characterized by an easy parallelization of its computational processing.

[0010] It is a further object of the present invention to provide a volume-based flow artifact correction system that can be easily implemented with the computational power of existing OCT systems and whose implementation does not impose an undue time burden on existing clinical procedures.

[0011] The above objectives are achieved in a method / system for correcting (e.g., removing or reducing) flow artifacts in optical coherence tomography angiography (OCTA) using a neural network approach. When constructing a mathematical formula for correcting flow artifacts in each individual A-scan, the amount of flow signal due to tail artifacts can be estimated by analyzing frame repetition, modulation characteristics of the OCT signal, and scattering characteristics of the human retina. Although this approach may provide good results, such a hand-crafted, routine approach may vary from instrument to instrument and may be affected by different retinal opacity and scattering characteristics in each subject, complicating its implementation and making it impractical for clinical practice.

[0012] Other hand-made techniques may have similar limitations of being very complex, time-consuming, and / or computationally resource intensive (e.g., requiring computational resources that are not available in existing OCT / OCTA systems), especially when applying flow artifact correction to volume scans (e.g., volume-based techniques). The present invention overcomes some of the limitations of conventional hand-made techniques by correcting projection artifacts in OCTA volumes and using a neural network-based method / system. The present technique can run faster than hand-made techniques, at least in part, by allowing easy parallelization of its processing. Furthermore, it is proposed that the present invention can also correct some independent errors generated by other volume-based methods in the expression of some vessels.

[0013] The present invention uses a neural network architecture for correction of flow projection artifacts in OCTA volumes and has been shown to produce good results in both healthy and diseased subjects and does not rely on any slab formation or segmentation. The method can be trained using original OCT structure volumes and OCTA flow volumes as inputs to generate (OCTA) flow volumes (or OCT structure volumes) with no (or reduced) projection / shadowing artifacts as output. Gold standard training samples (e.g., training samples used as target, training output samples) used as target outputs to train the neural network can be generated by using one or more hand-crafted techniques as described above and / or known in the art (including one or more slab-based and / or volume-based algorithms, alone or in combination) to correct decorrelated tail artifacts (e.g., flow artifacts or shadows) applied to a set of sample cases (e.g., sample OCT / OCTA volumes) where the majority of A-scans in each volume are known to show good (or satisfactory) results. Such hand-crafted algorithms (especially volume-based algorithms) can be computationally intensive and require long execution times, but this is not a burden because their execution time is part of the test data (or training sample) collection stage for training, and not part of the implementation of the present invention (e.g., the implementation / use of an already-trained neural network in the field, such as in a clinical setting).

[0014] The present invention is accomplished, at least in part, through the employment of a neural network that uses both structure and flow data to solve the current problem, and through the design of a custom neural network to solve it. Apart from saving time, the present neural network solution considers both structure and flow when analyzing OCTA data. In addition to correcting flow artifacts, the neural network of the present invention can also correct other remaining artifacts that may not be correctable using hand-crafted techniques.

[0015] Other objects and achievements of the present invention, together with a fuller understanding of the invention, will become apparent and appreciated by reference to the following description and claims taken in conjunction with the accompanying drawings.

[0016] To facilitate the understanding of the present invention, several publications are cited or referenced herein. All publications cited or referenced herein are incorporated by reference in their entirety.

[0017] The embodiments disclosed herein are merely examples, and the scope of the disclosure is not limited thereto. Any feature of an embodiment described in one claim category, e.g., a system, may also be claimed in another claim category, e.g., a method. Dependencies or back references in the appended claims are selected for formality reasons only. However, any subject matter resulting from a careful back reference to a previous claim may also be claimed, thereby disclosing any combination of the claims and their features and may be claimed regardless of the dependencies selected in the appended claims. [Brief description of the drawings]

[0018] In the drawings, like reference symbols / letters refer to like elements. [Figure 1]FIG. 1 shows an exemplary OCTA B-scan of a human retina with upper and lower dashed lines indicating the location of the transverse en face images of the superficial retinal layer (SRL) and deep retinal layer (DRL), respectively. [Diagram 2] FIG. 2 illustrates a slab-based method for removing flow artifacts from a target en face slab, such as the DRL of FIG. 1, suitable for use with the present invention, such as in defining a training input / output set for a neural network according to the present invention. [Diagram 3] FIG. 2 illustrates an exemplary training input / output set including a training input (image) set and corresponding training outputs (images). [Figure 4] FIG. 4 illustrates a method / system for defining a training input / output set, such as that shown in FIG. 3, for a neural network according to the present invention. [Diagram 5] FIG. 1 provides a simplified overview of the U-Net architecture used in an exemplary embodiment of the invention. [Figure 6] FIG. 6 provides an expanded view of the processing steps within the downsampling block (eg, encoding module) in the contracting path of the neural network of FIG. 5. [Figure 7] FIG. 1 illustrates a method for reducing artifacts in OCT-based images of the eye in accordance with the present invention. [Figure 8] FIG. 1 illustrates a generalized frequency-domain optical coherence tomography system that may be used to collect 3D image data of the eye suitable for use in the present invention. [Figure 9] FIG. 1 shows an exemplary OCT B-scan image of a normal retina of a human eye, illustratively identifying various normal retinal layers and boundaries. [Figure 10] FIG. 1 illustrates an exemplary en face vascular image. [Figure 11] FIG. 1 illustrates an exemplary B-scan vascular image. [Figure 12]FIG. 1 illustrates an example of a multi-layer perceptron (MLP) neural network. [Figure 13] FIG. 1 illustrates a simplified neural network consisting of an input layer, a hidden layer, and an output layer. [Figure 14] FIG. 1 illustrates an exemplary convolutional neural network architecture. [Figure 15] FIG. 1 illustrates an exemplary U-Net architecture. [Figure 16] FIG. 1 illustrates an exemplary computer system (or computing device or computer). DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0019] Optical coherence tomography (OCT) is an imaging technique that uses low-coherence light to capture micrometer-resolution 2D and 3D images from within light-scattering media (e.g., biological tissues). OCT is a non-invasive coherence imaging modality that allows in vivo imaging of cross-sections of the retina. OCT provides images of ocular structures and has been used to quantitatively assess retinal thickness and evaluate qualitative anatomical changes such as the presence or absence of pathological features including intraretinal and subretinal fluid. A more detailed description of OCT is provided below.

[0020] Advances in OCT technology have led to the creation of additional OCT-based imaging modalities. OCT angiography (OCTA) is one such imaging modality that is rapidly gaining clinical acceptance. OCTA images are based on the variable backscattering of light from vascular and neurosensory tissues in the retina. Because the intensity and phase of backscattered light from retinal tissues varies based on the inherent motion of the tissues (e.g., red blood cells move, while neurosensory tissues are generally stationary), OCTA images are inherently motion contrast images. This motion contrast imaging provides high-resolution, non-invasive images of the retinal vasculature in an efficient manner.

[0021] OCTA images may be generated by applying one of several known OCTA processing algorithms to OCT scan data, typically collected at the same or nearly the same transverse location on the sample at different times, to identify and / or visualize regions of motion or flow. Thus, a typical OCT angiography data set may include multiple OCT scans repeated at the same transverse location. Motion contrast algorithms may be applied to intensity information derived from the image data (intensity-based algorithms), phase information from the image data (phase-based algorithms), or complex image data (complex-based algorithms). Motion contrast data may be collected as volumetric data (e.g., cube data) and displayed in a number of ways. For example, an en face vasculature image is an en face planar image that displays the motion contrast signal, where the data dimension corresponding to depth (e.g., the "depth dimension" or imaging z-axis of the system relative to the sample) is displayed as a single representative value, typically by summing or integrating all or isolated portions of the volumetric data (e.g., the slab formed by two particular layers).

[0022] OCTA is prone to decorrelation tail artifacts due to the high scattering properties of blood in the overlying vessels, creating artifacts that interfere with the interpretation of retinal angiography results. In other words, deeper layers may have projection artifacts due to varying shadows cast by blood flowing onto the retinal vessels above the deeper layers, which may cause fluctuations in the reflected signal. This signal fluctuation may manifest as decorrelation that cannot be easily distinguished from true flow.

[0023] One of the steps in a standard OCT angiography algorithm involves generating 2D angiographic vasculature images (angiograms) of different regions or slabs of tissue along (and transverse or perpendicular to) the depth dimension from the acquired flow contrast image, which may help the user visualize vasculature information from different retinal layers. Slab images (e.g., en face images) may be generated by summation, integration, or other techniques to select a single representative value of the cube motion contrast data along a particular axis between two selected layers (see, e.g., U.S. Pat. No. 7,301,644, the contents of which are incorporated herein by reference). Slabs most affected by decorrelation tail artifacts may include, for example, the Deeper Retinal Layer (DRL), the Avascular Retinal Layer (ARL), the Choriocapillaris Layer (CC), and any custom slabs, especially those that include the Retinal Pigment Epithelium (RPE).

[0024] FIG. 1 shows an exemplary OCTA B-scan 11 of a human retina, with upper and lower dashed lines 13 and 15 respectively indicating where two transverse en face images are formed. The upper dashed line 13 indicates the superficial retinal layer (SRL) 17 located near the top of the retina, and the lower dashed line 15 indicates the deep retinal layer (DRL) 19. In this example, the deep retinal layer 19 is the target slab desired to be examined, but because it is located below the superficial retinal layer 17, the vasculature pattern 17a in the upper en face SRL layer 17 may express flow projections (e.g., decorrelation tails or shadows) 19a in the target's deeper en face DRL layer 19, which may be erroneously identified as true vasculature. For better visualization and interpretation, it is beneficial to correct (e.g., remove or reduce) the flow projection (e.g., decorrelation) artifacts 19a in the target slab 19.

[0025] Flow projection artifacts are typically corrected by slab-based or volume-based methods. Slab-based methods correct individual target en face slabs (topographic projections of OCTA subvolumes formed in two selected surfaces / layers in the OCTA volume) one at a time. Slab-based methods may require the use of two (en face) slab images (e.g., upper and lower slab images). That is, slab-based methods may require information from an additional upper reference slab formed at a higher depth position (e.g., above the target en face slab) to identify and correct shadows in the deeper / lower target en face slab. For example, as shown in FIG. 2, slab-based methods may assume that a deep target en face slab (e.g., DRL image 19) is the result of (e.g., may be generated by) blending a higher reference slab (e.g., SRL 17) with a theoretical artifact-free slab 21a (an image without unknown decorrelation tails to be reconstructed). Artifacts can be removed using a selection of model blends 23, where the blends may be, for example, additive or multiplicative in nature. For example, the model blends 23 may be iteratively applied until an image 21b without decorrelation tails is generated. It should be understood that at each iteration, a current (e.g., interim) generated image 21b may take the place of the theoretical slab 21a in the model blends 23 until a final generated image 21b with sufficient decorrelation tail correction is achieved.

[0026] Slab-based methods for removing shadowing artifacts have been shown to be effective, but have some limitations. First, both the target slab to be corrected and the upper reference slab are determined by the definition of two individual surface / layer pairs, typically defined by an automatic layer segmentation algorithm. Errors in the layer segmentation and / or ambiguity in the relationship between the target and reference slabs can lead to the removal of important information in the corrected slab. For example, true vessels that are partially present in both the target and upper reference slabs can be erroneously removed from the corrected slab. Conversely, slab-based methods may not be able to remove some severe artifacts, such as artifacts resulting from vessels that are not present in the reference slab due to errors in their formation.

[0027] The effectiveness of slab-based methods may depend on the slab formation (e.g., how the slab is formed / generated). For example, a slab-based method may work satisfactorily for slabs generated using maximum projection, but this may not be the case when the slab is generated using additive projection. In the case of thick slab formation, for example, the projection artifacts may overwhelm the real sample signal as the projection artifacts propagate deeper into the slab (e.g., volume). This may result in the masking of the real signal in the slab, making it impossible to display the real signal even after the artifacts are corrected.

[0028] There are two further limitations as a direct result of the nature of the slab-based method. As explained above, in the slab-based method, only a single target slab can be corrected at a time. As a result, the slab-based algorithm needs to be executed every time there is a change in the target slab formation, no matter how minimal this change is, or even if its formation is reverted to that from a previous step. This leads to increased processing time and memory requirements when the user modifies the surfaces / layers that form the target slab to visualize a selected vessel of interest. In addition, the slab-based correction is only observed or processed in the slab plane (e.g., en face planar view, or planar view perpendicular to the imaging z-axis of the OCT system). As a result, B-scans (or cross-sectional images sliced ​​into a volume) cannot be observed, and volumetric analysis of the results is not possible.

[0029] Although volume-based methods may alleviate some of these limitations, traditional volume-based methods have their own limitations. Some traditional volume-based methods are based on a similar idea to slab-based methods, but are performed iteratively on multiple target slabs across the volume. For example, to correct the entire volume, a moving deformable window (e.g., a moving target slab) can be moved axially across the entire OCTA cube depth, and the slab-based method can be applied at each window location. Another volume-based method is based on the analysis of peaks in the flow OCTA signal at multiple different depths for each A-scan. However, volume-based methods have traditionally been very time-consuming because the analysis is done iteratively or by peak search, and parallelizing their execution in a parallel computer processing system is not an easy task. Furthermore, traditional volume-based methods are based on hand-made assumptions that, while they provide generally satisfactory results, do not hold for all types of vascular expression. For example, moving window-based volume-based methods must overcome the challenge of determining exactly where the vessel ends and where the (decorrelated) tail begins. Although advanced assumptions about the vessels have been proposed to provide better correction, artifacts can still be observed at the ends of large vessels. Methods based on peak analysis rely on optical bench measurements that do not reproduce retinal properties with sufficient accuracy for all subjects, and tend to make binary decisions when removing the (decorrelated) tail in each A-scan, which may remove true flow data at deep retinal locations.

[0030] In contrast to the above-mentioned hand-crafted solutions for correcting flow projection artifacts in angiographic flow slabs or volumes, the preferred embodiment applies a neural network solution that is trained to use both structural data (e.g., OCT structural data) and flow data (e.g., OCTA flow contrast data) as training inputs, and learns certain characteristics of projection (flow) artifacts versus real (true) vessels. This approach has been shown to be advantageous over hand-crafted volume-based approaches. For example, the neural network model can process large volume data at a faster rate than hand-crafted algorithms that correct flow projections in volumes using iterative methods or by finding peaks in all A-scans. The faster processing time of the approach can benefit at least in part from easier parallelization of the model in general purpose graphics processing units (GPGPUs) optimized for parallel operation, although other computer processing architectures can also benefit from the model. In addition, the approach makes fewer assumptions when processing the data. Given a suitable gold standard as a target (e.g., a target training output), the neural network can learn the characteristics of flow artifacts and how to reduce them using both structural and flow data without making hand-crafted assumptions that may vary across data and be difficult to estimate with heuristic methods. Furthermore, it is proposed that imperfectly corrected data can also be used as a gold standard for training the neural network of the present invention as long as it is reasonably correct. The method can also improve the output depending on the network architecture used and the amount of training data available, since the neural network learns the overall behavior of the combined structural and flow data that characterizes the artifacts. For example, if the training output set corrects additional artifact errors in addition to flow artifacts such as noise, the trained neural network can also correct these additional artifact errors.

[0031] The preferred neural network is primarily trained to correct projection artifacts in OCTA volumes, but is trained using training input data pairs consisting of OCT structural data and corresponding OCTA flow data of the same sample / region. That is, the method is able to use both structural and flow information to correct artifacts and not rely on segmentation lines (e.g., layer definition) and slab formation. The trained neural network can receive a test OCTA volume (e.g., newly acquired OCTA data not previously used in training the neural network) and generate a corrected flow (OCTA) volume, which can be used for visualization or processing of the corrected flow data in different planes and three dimensions. For example, the corrected OCTA volume can be used to generate A-scan, B-scan, and / or en face images of any region of the corrected OCTA volume.

[0032] FIG. 3 illustrates an exemplary training input / output set including a training input (image) set 10 and corresponding training output target (image) 12. As mentioned above and described in more detail below, generating an OCTA image (or scan or data set) 14 typically requires multiple OCT scans (or image data) 16 of the same retinal region, and designating differences that meet a predetermined criterion as blood flow. In this case, depth data 18 (e.g., axial depth information that can be correlated to depth information from the corresponding OCT data 16) is added to the generated OCTA data 14. The generated OCTA data 16 (and optionally the individual OCT images 16) are corrected for flow artifacts and / or other artifacts, such as by using one or more hand-crafted algorithms to generate a corresponding training output target OCTA image 20. Optionally, corresponding depth information 22 may also be added to the target output OCTA image 20.

[0033] FIG. 4 illustrates a method / system for defining a training input / output set as shown in FIG. 3 for a neural network according to the present invention. In block B1, multiple OCT acquisitions are collected from substantially the same region of a sample. The collected OCT acquisitions may be used to form an OCT (structural) image 16 (e.g., of an eye), as shown in block B2. The OCT (structural) image data may depict tissue structural information such as retinal tissue layers, optic nerve, fovea, intraretinal and subretinal fluid, macular holes, macular pucker, etc. These OCT images may include one or more average images of two or more of the multiple collected OCT data, and may correct for noise, structural shadows, opacity, and other image artifacts. Block B3 uses OCT angiography (OCTA) processing techniques to calculate motion contrast information in the collected OCT data from block B1 (and / or the OCT image 16 formed from block B2, or a combination of the two) to form OCTA (flow) image data. The formed flow image depicts vasculature flow information and may contain artifacts such as projection artifacts, decorrelation tails, shadow artifacts, and opacity. Optionally, the flow image may be provided with depth index information along its axial direction, as indicated at 26. This depth information may be correlated to the formed OCT image used to form the flow data, as indicated by dashed arrow 24 and block B4. The formed OCTA image from block B3 (optionally with or without added depth information) is provided to an artifact removal algorithm (block B5) to form a corresponding target output OCTA image with reduced artifacts (e.g., training output target OCTA image 20 of FIG. 3), as indicated by block B6. In block B7, the OCT (structural) image, the formed OCTA (flow) image, and the target output OCTA image (optionally with depth index information) are grouped together to define a training input / output set, as indicated in FIG. 3.Thus, each training input set 10 includes one or more training input OCT images 16, a corresponding training input OCTA image 14, and depth information 18 relating to axial positions of pixels in the training input OCTA image 14. As mentioned above, the target output OCTA image 20 may also optionally have corresponding depth information 22 (e.g., corresponding to the depth data 18). It will be appreciated that multiple training input / output sets may be formed by forming multiple OCTA images 14 from multiple corresponding sets of OCT acquisitions 16 to form multiple corresponding training input OCTA images 20.

[0034] Thus, the neural network according to the present invention may be trained using one set of OCTA acquisitions with corrected flow data and a corresponding set of OCT acquisitions (for which OCTA data may be determined) and may be corrected for shadows or other artifacts. The corrected flow data may be known or may be pre-calculated a priori for training purposes, but it is not necessary to provide labels identifying the corrected regions in either the training input set or the output training images. Both the (OCT) structure cube and the (OCTA) flow cube are used as training inputs, and the neural network is trained to generate an output (OCTA) flow cube that is corrected for projection artifacts. In this way, the pre-generated correction data (e.g., training output, target images) is used as guidance in training the neural network.

[0035] The corrected OCTA flow data used as the training output target in training the neural network may be obtained by using a hand-crafted algorithm with or without additional manual correction, and it is not necessary to construct a perfect solution for artifact correction, but its performance should be satisfactory over the majority (majority) of the A-scans in the volume sample. That is, a hand-crafted solution based on individual A-scan flow artifact correction, or slab-based correction, or volume-based correction (e.g., as described above) can be used to form a training output target volume (e.g., image) corresponding to each training input set (including a training OCTA volume and one or more corresponding OCT structure volumes). Optionally, the training output target volume may be divided into a training output sub-volume set. For example, if the corrected training volume still has areas of severe flow artifacts, the corrected training volume may be divided into sub-volumes, and only the satisfactory parts of the corrected volume (excluding the severe flow artifacts) may be used to form the training input set. In addition, the corrected OCTA volume and its corresponding set of OCT samples and the uncorrected OCTA volume may be divided into corresponding sub-volume segments to form a larger number of training input / output sets, each set being formed by a sub-volume region.

[0036] In operation (e.g., after the neural network has been trained), the collected structural OCT image(s), the corresponding OCTA flow image, and the assigned / determined / calculated depth index information are provided to the trained neural network, which then outputs / generates an OCT-based image vascular image (e.g., an OCTA image) with reduced artifacts compared to the input OCTA flow image.

[0037] According to the present invention, although several types of neural networks can be used, the preferred embodiment of the present invention uses a U-Net type neural network. A schematic description of the U-Net neural network is provided below. However, preferred embodiments may be derived from this general U-Net and may be based on a U-Net architecture optimized for speed and accuracy. As an example, the U-Net neural network architecture used in the proof of concept implementation of the present invention is provided below.

[0038] As a proof of concept, OCTA acquisitions of 6 × 6 × 3 mm fields of view (and their corresponding OCT data) from 262 eyes were recorded using a swept-source OCT device (PLEX Elite® 9000, Carl Zeiss Meditec, AG). The eyes were imaged using a Meditec, Inc. (trademark). Of these eyes, 153 were healthy and 109 were diseased. Of the 262 eyes, 211 eyes (including 123 eyes from normal eyes and 88 eyes from diseased eyes) were used for training (e.g., used to prepare a training input / output set including OCTA / OCT training input pairs and their corresponding corrected output training targets). In addition, 51 eyes (including 30 eyes from normal eyes and 21 eyes from diseased eyes) were used for validation (e.g., used as test inputs to validate the effectiveness of the trained neural network during the neural network testing phase). For each OCTA acquisition, a hand-crafted (e.g., volume-based) decorrelation tail removal algorithm was used to generate the corresponding training output target corrected version of the flow volume. Similarly, a (hand-crafted) algorithm was also used to correct artifacts in their corresponding OCT volume data.

[0039] In the training phase, two training approaches were considered. In both approaches, the neural network accepted as input the flow (OCTA) data to be corrected and the structural (OCT) data from each OCTA acquisition. Similarly, in both approaches, the output of the neural network was measured (or compared to) a ground truth (e.g., a corresponding training output target), e.g., ideal corrected flow data. The training output target was obtained by providing the training input OCTA acquisitions to a hand-crafted flow artifact correction algorithm. An example of a hand-crafted volume-based projection removal algorithm is described in U.S. Pat. No. 1,044,1164, assigned to the same assignee as this application. However, the two approaches differed in how the training objective was defined. For ease of explanation, the input flow data to be corrected is referred to as "flow original" and the desired corrected flow data that the neural network is expected to generate is referred to as "flow corrected". In the first approach, the neural network was trained to predict the "flow corrected" (e.g., to closely replicate the training output target) given the "flow original" as input. This first training approach was similar to that described below. The second approach differed in that its objective was to define the difference between the "flow original" and the "flow corrected". That is, during each training iteration (e.g., epoch), the neural network was trained to predict a "residual" based on the difference between the "flow corrected" and the "flow original", and this residual was added to the flow original. The final residual generated by the neural network was then added to the original input flow scan to form a corrected version of the input flow scan. This second approach was found to provide better results than the first approach in some cases.This may be because in the first approach, the neural network had to learn to reproduce the original flow images without significant changes (e.g., the target output flow images may be very similar to the input flow images), whereas in the second approach, residual data only needs to be generated (e.g., providing signal data regarding positions corresponding to changes / differences between the training input and the target output).

[0040] The neural network is based on the general U-Net neural network architecture as described below with reference to FIG. 16, but with some modifications. FIG. 5 provides a simplified overview of the U-Net architecture used in the exemplary embodiment of the present invention. The first modification from that of FIG. 16 is that the total number of layers in the present machine learning model is reduced. The present embodiment has two downsampling blocks (e.g., encoding modules) 31a / 31b in the convergence path and two corresponding upsampling blocks (e.g., decoding modules) 33a / 33b in the expanding path. This is in contrast to the exemplary U-Net of FIG. 16, which has four downsampling blocks and four upsampling blocks. This reduction in downsampling and expansion blocks improves performance in terms of speed while still producing satisfactory results. However, it should be understood that a suitable U-Net may have more or fewer downsampling blocks and corresponding upsampling blocks without departing from the present invention. Additional downsampling / upsampling blocks may produce better results at the expense of longer training (and / or execution) times. In this example, each downsampling block 31a / 31b and upsampling block 33a / 33b is composed of three layers 39a, 39b, and 39c, each of which represents image data (e.g., volume data) at a given processing stage, although it should be understood that the downsampling and upsampling blocks may have more or fewer layers. Although not shown for ease of explanation, it should also be understood that the U-Net may have copy-and-crop links (e.g., similar to links CC1-CC4 in FIG. 16) between corresponding downsampling and upsampling blocks. These copy-and-crop links may copy the output of one downsampling block and couple that output to the input of its corresponding upsampling block.

[0041] The different operations of the U-Net are illustrated / shown by the arrow key chart. Each downsampling block 31a / 31b applies two sets of operations. The first set, shown by arrow 35, is similar to the set in FIG. 16 and includes a (e.g., 3×3) convolution and an activation function (e.g., a rectified linear (ReLU) unit) with batch normalization. However, the second set, shown by arrow 37, differs from the set in FIG. 16 and adds column pooling.

[0042] FIG. 6 shows a more detailed view of exemplary operations (or operation steps) indicated by P arrows 37 in the downsampling block. This second set of operations applies vertical (or column-wise max) pooling 51 to layer 39b, whose height and width data dimensions are indicated as H×W. The column-wise pooling 51 forms 1×W pooled data 41, which is then upsampled to form upsampled data 43 that matches the dimensional size H×W of layer 39b. In a combining step 45, the upsampled data 43 is combined with the image data from layer 39b before being provided to an activation function with a convolution step 47 and a batch normalization step 49 to generate the local output layer 39c for each block. The addition of the vertical pooling layer 51 allows the machine model to quickly move information between different parts of an image (e.g., to move data vertically between different layers of an OCT / OCTA volume). For example, a blood vessel at a first location (x,z) may cause a tail artifact at a second vertically offset (e.g., deeper) location (x,z+100) without causing any visible changes (any tail artifacts) in any intervening regions (e.g., a third location (x,z+50)). Thus, without a "shortcut" connecting these two points (e.g., the first location and the second location), the network would have to learn several convolution filters separately that transfer information from the first location to the second location for a total of 100 pixels.

[0043] As explained above, each pixel (or voxel) in the volume (or slab or en face) image data includes an additional information channel that specifies its depth index information or location (e.g., z-coordinate) within the volume. This allows the neural network to learn / evolve contextually distinct calculations at different axial (e.g., depth) locations based at least in part on the depth index information. Additionally, the training input samples may include defined retinal landmarks (e.g., structural features determined from structural OCT data), and the contextually distinct calculations may rely on local retinal landmarks, such as multiple retinal layers.

[0044] Returning to FIG. 5, the output from one downsampling block 31a is max pooled (e.g., 2×2 max pooling) as indicated by the downward arrow and input to the next downsampling block 31b in the convergence path before reaching any “bottleneck” block / module 53 and entering the expansion path. Optionally, the max pooling function, indicated by the downward arrow, may be combined with the downsampling block preceding it to provide the downsampling function. The bottleneck 53 may consist of two convolutional layers (with batch normalization and optional dropout), as shown with reference to FIG. 16, but in this embodiment adds column-wise pooling, as indicated by the P arrow. This increases the amount of column-wise pooling that the network can perform, which has been confirmed in tests to improve performance.

[0045] In the augmentation path, the output of each block is provided to a transposed convolution (or deconvolution) stage to upsample the image / information / data. In this example, the transposed convolution is characterized by a 2×2 kernel (or convolution matrix) with a stride (e.g., shift of the kernel) of 2 (e.g., 2 pixels or voxels). At the end of the augmentation path, the output of the last upsampling block 33a is subjected to another convolution operation (e.g., a 1×1 convolution) as indicated by the dotted arrow before generating its output 57. While the neural network may have multiple features per pixel just before reaching the 1×1 convolution, the 1×1 convolution combines these multiple features at a pixel-by-pixel level into a single output value per pixel.

[0046] Another difference between the U-Net of FIG. 16 and the U-Net of FIG. 5 is the addition of a dynamic pooling layer 32 (e.g., based on retinal structure) following the input layer 34 and preceding the downsampling blocks 31a / 31b. As explained above, an additional information channel (e.g., similar to an additional color channel) whose value at each pixel is the z-coordinate (depth) of that pixel / voxel in the volume is combined with the input data before it is input to the network. This allows the network to perform contextually different calculations at different depths while still retaining a full convolutional structure. That is, the input layer 34 receives input OCT-based data 36 (e.g., OCTA flow data including OCT structure data and depth index information), and the dynamic pooling layer 32 compresses the input OCT-based data (image information) outside a variable depth range defined by the location of (e.g., preselected) retinal landmarks in the received OCT-based data. The retinal landmarks may be (e.g., specific) retinal layers, or other known structures. For example, as shown in FIG. 9 and FIG. 11, the relevant retinal tissue information may be limited to a particular axial range where retinal layers of interest are present, and the depth locations of these layers may vary between volume data. Thus, the dynamic pooling layer 32 allows the machine learning model to reduce the amount of data processed to only the portion of the volume that contains layers of interest, such as layers that may have flow artifacts or be involved in the generation of flow artifacts, or specific layers that may be of interest to a human observer. As an example, the dynamic pooling layer 32 can quickly identify the inner limiting membrane (ILM) and the retinal pigment epithelium (RPE) because they are areas of high contrast along the A-scan and generally identify the top and bottom layer regions of the retina. See FIG. 9 for a brief description of the different retinal layers and boundaries in a normal human eye. Other retinal layers may also be identified and associated with their specific depth information.This assists the data processing layers following the dynamic pooling layer 32 in applying contextually different calculations at different axial locations based at least in part on the depth indication information and / or local retinal landmarks (e.g., retinal structures such as retinal layers).The dynamic pooling layer 32 thus compresses image information outside of a variable depth range defined by the input data itself (e.g., defined by the locations of particular retinal landmarks within the input OCT-based data 36).

[0047] As in the case of the U-Net of FIG. 16, during the training phase, the output 57 of the U-Net is compared to the target output OCTA image 59 by applying a loss function 61 (e.g., an L1 loss function, an L2 loss function, etc.), and the internal weights of the data processing layers (e.g., the downsampling blocks 31a / 31b and the upsampling blocks 33a / 33b) are adjusted accordingly (e.g., by a backpropagation process) to reduce this error in subsequent backpropagation iterations. Optionally, the neural network can apply a loss function with different weights based on specific retinal layers. That is, the loss function can be made to have different weights based on the local proximity of preselected retinal landmarks (e.g., retinal layers) to the current axial position of the OCT image data being processed. For example, the present embodiment may use an L1 loss function that is reweighted such that regions of the input OCTA (or OCT) volume between the inner boundary layer (ILM) and the retinal pigment epithelium (RPE) are weighted at least one order of magnitude more heavily than other regions of the volume (e.g., have 11 times the weight).

[0048] 7 illustrates an exemplary method for reducing artifacts in an ocular OCT-based image according to the present invention. The method begins in step S1 by collecting ocular OCT image data from an OCT system, where the collected OCT image data includes depth index information. The OCT image data is provided in step S2 to a trained neural network, where the neural network has a convolutional structure (e.g., U-Net) and is trained to apply contextually distinct calculations at different axial positions based at least in part on the depth index information. For example, the distinct calculations may be contextually dependent on predefined local retinal landmarks, such as (optionally predefined) retinal layers. In step S3, the trained neural network generates an output OCT-based image with reduced artifacts compared to the collected OCT image data.

[0049] Optionally, the collected OCT image may undergo several data adjustment sub-steps. For example, in sub-step Sub1, ocular structure (OCT) data is created from the collected OCT image data, where the created structure image shows ocular tissue structure information such as retinal layers. Similarly, in sub-step Sub2, motion contrast information is calculated (e.g., from the collected OCT image data and / or the initial structure data) using OCTA processing techniques. In sub-step Sub3, a flow (OCTA) image is created from the motion contrast information, where the flow image shows vasculature flow information and includes artifacts such as projection artifacts, decorrelation tails, shadow artifacts, and opacity. In sub-step Sub4, the created flow image is assigned depth index information along its axial direction. For example, the created flow image is extended to include an additional information channel (e.g., an additional color channel per pixel) incorporating depth index information (e.g., instead of additional color information).

[0050] The trained neural network may have several distinguishing properties. For example, the neural network includes a dynamic pooling layer following an input layer for compressing image information outside a variable depth range defined by a plurality of (e.g., axial / depth) positions of a plurality of (optionally preselected) retinal landmarks (e.g., a plurality of retinal layers) in the received OCT image data. The neural network also has a plurality of data processing layers following the dynamic pooling layer, where the plurality of data processing layers perform contextually different calculations at different axial positions based at least in part on the depth indication information and / or the plurality of (e.g., axial) positions of a plurality of retinal landmarks, such as a plurality of (optionally specific) retinal layers. During training, the neural network includes an output layer that compares the output of the plurality of data processing layers with a target output OCTA image and adjusts the internal weights of the data processing layers by a backpropagation process. During training, the neural network applies a loss function (e.g., an L1 function) with different weights based on the local proximity of a plurality of (optionally preselected) retinal landmarks (e.g., a plurality of retinal layers) to the current axial position of the OCT image data being processed. Optionally, the loss function has different weights based on specific retinal layers. For example, the loss function has a first weight for the region between the inner limiting membrane (ILM) and the retinal pigment epithelium (RPE) and a second weight for other locations. Optionally, the first weight is an order of magnitude larger than the second weight.

[0051] Various hardware and architectures suitable for the present invention are described below. In general, optical coherence tomography (OCT) uses low-coherence light to generate two-dimensional (2D) and three-dimensional (3D) internal views of biological tissues. OCT allows in vivo imaging of retinal structures. OCT angiography (OCTA) generates flow information such as vascular flow from within the retina. Examples of OCT systems are provided in U.S. Pat. Nos. 6,741,359 and 9,706,915, and examples of OCTA systems include U.S. Pat. Nos. 9,700,206 and 9,759,544, all of which are incorporated herein by reference in their entireties. Exemplary OCT / OCTA systems are provided herein.

[0052] FIG. 8 illustrates a generalized frequency domain optical coherence tomography (FD-OCT) system for ocular 3D image data collection suitable for use with the present invention. The FD-OCT system OCT_1 includes a light source LtSrc1. Typical light sources include, but are not limited to, a broadband light source with a short temporal coherence length, or a swept laser source. A beam of light from the light source LtScr1 is typically guided by an optical fiber Fbr1 to illuminate a sample, for example, an eye E, a typical sample being human intraocular tissue. The light source LrSrc1 can be, for example, a broadband light source with a short temporal coherence length in the case of spectral domain OCT (SD-OCT) or a tunable laser source in the case of swept source OCT (SS-OCT). The light can typically be scanned using a scanner Scnr1 between the output of the optical fiber Fbr1 and the sample E, so that the beam of light (dashed line Bm) is scanned laterally over the area of ​​the sample to be imaged. The light beam from the scanner Scnr1 can pass through a scanning lens SL and an ophthalmic lens OL and be focused on a sample E to be imaged. The scanning lens SL can receive the light beam from the scanner Scnr1 at multiple angles of incidence and generate substantially collimated light, which the ophthalmic lens OL can then focus on the sample. This example shows a scanning beam that needs to be scanned in two lateral directions (e.g., x-direction and y-direction on a Cartesian plane) to scan a desired field of view (FOV). This example is a point-field OCT that uses a point-field beam to scan across the sample. Thus, the scanner Scnr1 is exemplarily shown to include two sub-scanners, a first sub-scanner Xscn for scanning the point-field beam over the sample in a first direction (e.g., horizontal x-direction) and a second sub-scanner Yscn for scanning the point-field beam on the sample in an intersecting second direction (e.g., vertical y-direction). If the scanning beam is a line field beam (e.g., line field OCT) and can sample an entire line portion of the sample at one time, only one scanner may be required to scan the line field beam across the sample to span the desired FOV.If the scanning beam is a full-field beam (eg, full-field OCT), a scanner may not be required and the full-field light beam may be illuminated across the entire desired FOV at once.

[0053] Regardless of the type of beam used, light scattered from the sample (e.g., sample light) is collected. In this embodiment, scattered light returning from the sample is collected in the same optical fiber Fbr1 used to route light for illumination. The reference light originating from the same light source LtSrc1 travels along a separate path, which in this case includes an optical fiber Fbr2 and a retroreflector RR1 with an adjustable optical delay. As will be appreciated by those skilled in the art, a transmissive reference path can also be used, and an adjustable delay can be placed in the sample or reference arm of the interferometer. The collected sample light is combined with the reference light, for example, in a fiber coupler Cplr1, to form optical interference in an OCT photodetector Dtctr1 (e.g., a photodetector array, digital camera, etc.). Although one fiber port is shown reaching the detector Dtctr1, as will be appreciated by those skilled in the art, various designs of interferometers can be used for balanced or unbalanced detection of the interference signal. The output from the detector Dtctr1 is fed to a processor (e.g., an internal or external computing device) Cmp1, which converts the observed interference into sample depth information. The depth information may be stored in a memory associated with the processor Cmp1 and / or displayed on a display (e.g., computer / electronic display / screen) Scn1. The processing and storage functions may be localized within the OCT device, or the functions may be offloaded to (e.g., executed on) an external processor (e.g., an external computer system) to which the collected data is transferred. An example of a computing device (or computer system) is shown in Figure 15. This unit may be dedicated to data processing or may perform other tasks that are quite general and not dedicated to the OCT device.The processor (computing device) Cmp1 may include, for example, a field programmable gate array (FPGA), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a graphics processing unit (GPU), a system on a chip (SoC), a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), or combinations thereof, that may perform some or all of the processing steps in a serial and / or parallel manner with one or more host processors and / or one or more external computing devices.

[0054] The sample and reference arms in the interferometer can be constructed of bulk optics, fiber optics, or hybrid bulk optics systems and can have different architectures, such as Michelson, Mach-Zehnder, or common path designs, as known to those skilled in the art. Light beam, as used herein, should be interpreted as any carefully directed optical path. Instead of mechanically scanning the beam, a light field can illuminate a one- or two-dimensional area of ​​the retina to generate OCT data (see, e.g., U.S. Pat. No. 9,332,902; D. Hillmann et al., "Holoscopy-holographic optical coherence tomography," Optics Letters, vol. 36(13), p. 2290, 2011; Y. Nakamura et al., "High-Speed ​​three dimensional human retinal imaging by line field spectral domain optical coherence tomography," Optics Express, vol. 20(1), pp. 111-115, 2012). Express, 15(12), 7103, 2007; Blazkiewicz et al., Signal-to-noise ratio study of full-field Fourier-domain optical coherence tomography, Applied Optics, 44(36), 7722, 2005. In time-domain systems, the reference arm needs to have an adjustable optical delay to create interference. Balanced detection systems are typically used in TD-OCT and SS-OCT systems, and a spectrometer is used at the detection port for SD-OCT systems. The invention described herein can be applied to either type of OCT system.Various aspects of the present invention may be applied to any type of OCT system or to other types of ophthalmic diagnostic systems and / or to multiple ophthalmic diagnostic systems, including but not limited to fundus imaging systems, visual field testing devices, and scanning laser polarimeters.

[0055] In Fourier Domain Optical Coherence Tomography (FD-OCT), each measurement is a real-valued spectrally controlled interferogram (Sj(k)). The real-valued spectral data typically undergoes several post-processing steps, including background removal, dispersion correction, etc. A Fourier transform of the processed interferogram gives the complex OCT signal output Aj(z)=|Aj|eiφ. The absolute value of this complex OCT signal, |Aj|, ​​reveals the scattering intensity at different path lengths and thus the scattering profile with respect to depth (z-direction) within the sample. Similarly, the phase φj can also be extracted from the complex OCT signal. The profile of the scattering with respect to depth is called an axial scan (A-scan). A collection of A-scans measured at adjacent locations within the sample produces a cross-sectional image (tomogram or B-scan) of the sample. A collection of B-scans collected at different lateral locations on the sample constitutes a data volume or cube. For a particular data volume, the fast axis refers to the scan direction along which one B-scan is collected, and the slow axis refers to the axis along which multiple B-scans are collected. The term "cluster scan" may refer to one unit or block of data generated by repeated acquisition at the same (or substantially the same) location (or region) to analyze motion contrast that may be used to identify blood flow. A cluster scan may consist of multiple A-scans or B-scans collected at approximately the same location on the sample at a relatively short time interval. Because the scans in a cluster scan are of the same region, motion contrast between scans that meets predetermined criteria may be identified as blood flow, while stationary structures remain relatively unchanged between scans in the cluster scan.

[0056] Various methods for generating B-scans are known in the art, including, but not limited to, along the horizontal or x direction, along the vertical or y direction, along the x and y diagonals, or in a circular or spiral pattern. The B-scan may be in the xz dimension, but may also be any cross-sectional image including the z dimension. An exemplary OCT B-scan image of a normal retina of a human eye is shown in FIG. 13. An OCT B-scan of the retina provides a view of the structure of the retinal tissue. For illustrative purposes, FIG. 9 identifies various normal retinal layers and layer boundaries. The identified retinal boundary layers include (from top to bottom) inner limiting membrane (ILM) layer 1, retinal nerve fiber layer (RNFL or NFL) layer 2, ganglion cell layer (GCL) layer 3, inner plexiform layer (IPL) layer 4, inner nuclear layer (INL) layer 5, outer plexiform layer (OPL) layer 6, outer nuclear layer (ONL) layer 7, the junction between the outer segments (OS) and inner segments (IS) of photoreceptors (indicated by reference numeral 8), external limiting membrane (ELM or OLM) layer 9, retinal pigment epithelium (RPE) layer 10, and Bruch's membrane (BM) layer 11.

[0057] In OCT angiography or functional OCT, analysis algorithms may be applied to OCT data collected at different times (e.g., cluster scans) at the same or nearly the same sample location on the sample to analyze motion or flow (see, e.g., U.S. Patent Application Publication Nos. 2005 / 0171438, 2012 / 0307014, 2010 / 0027857, 2012 / 0277579, and U.S. Patent No. 6,549,801, all of which are incorporated herein by reference in their entireties). The OCT system may use any one of a number of OCT angiography processing algorithms (e.g., motion contrast algorithms) to identify blood flow. For example, motion contrast algorithms may be applied to intensity information derived from the image data (intensity-based algorithms), phase information from the image data (phase-based algorithms), or complex image data (complex-based algorithms). An en face image is a 2D projection of the 3D OCT data (e.g., by averaging the intensity of each individual A-scan, whereby each A-scan defines a pixel in the 2D projection). Similarly, an en face vascular image is an image that displays a motion contrast signal in which a data dimension that corresponds to depth (e.g., the z-direction along the A-scan) is displayed as one representative value (e.g., a pixel in the 2D projection image), typically by summing or integrating all or isolated portions of the data (see, e.g., U.S. Pat. No. 7,301,644, which is incorporated herein by reference in its entirety). OCT systems that provide angiography capabilities may be referred to as OCT angiography (OCTA) systems.

[0058] FIG. 10 shows an example of an en face vasculature image. After processing the data and highlighting the motion contrast using any of the motion contrast methods known in the art, an en face (e.g., front view) image of the vasculature may be generated by summing pixel ranges corresponding to a tissue depth from the surface of the retina's internal limiting membrane (ILM). FIG. 11 shows an example B-scan of a vasculature (OCTA) image. As shown, structural information may be less clear because blood flow traverses multiple retinal layers, which may obscure the multiple retinal layers more than in a structural OCT B-scan such as that shown in FIG. 9. Nevertheless, OCTA provides a non-invasive technique for imaging the retinal and choroidal microvasculature, which may be important for diagnosing and / or monitoring various pathologies. For example, OCTA may be used to identify diabetic retinopathy by identifying microaneurysms, neovascular complexes, and quantifying the foveal avascular zone and nonperfused areas. Moreover, OCTA has been shown to be in good agreement with fluorescein angiography (FA), a more traditional but more evasive technique that requires the injection of dye to observe vascular flow in the retina. Furthermore, in dry age-related macular degeneration, OCTA has been used to monitor the generalized reduction in choriocapillaris flow. Similarly, in exudative age-related macular degeneration, OCTA can provide qualitative and quantitative analysis of choroidal neovascular membranes. OCTA has also been used to study vascular occlusion, for example, for the evaluation of nonperfused areas as well as the integrity of the superficial and deep plexuses.

[0059] Neural Networks As mentioned above, the present invention may use a neural network (NN) machine learning (ML) model. For completeness, neural networks are generally described herein. The invention may use any of the following neural network architectures, alone or in combination: A neural network, or neural net, is a network of interconnected neurons (via nodes), with each neuron representing a node in the network. A collection of neurons may be arranged in layers, with the output of one layer being fed forward to the next layer in a multi-layer perceptron (MLP) arrangement. An MLP may be understood as a feed-forward neural network that maps a set of input data to a set of output data.

[0060] FIG. 12 illustrates an example of a multi-layer perceptron (MLP) neural network. The structure may include multiple hidden (e.g., inner) layers HL1-HLn, which map an input layer InL (receiving a set of inputs (or vector inputs) in_1-in_3) to an output layer OutL, which generates a set of outputs (or vector outputs), e.g., out_1 and out_2. Each layer may have any number of nodes, which are shown here for illustrative purposes as circles within each layer. In this example, the first hidden layer HL1 has two nodes, and hidden layers HL2, HL3, and HLn each have three nodes. In general, the deeper the MLP (e.g., the more hidden layers there are in the MLP), the greater its learning capacity. The input layer InL may receive vector inputs (shown for illustrative purposes as three-dimensional vectors consisting of in_1, in_2, and in_3) and feed the received vector inputs to the first hidden layer HL1 in the sequence of hidden layers. The output layer OutL receives the output from the last hidden layer in the multi-layer model, say HLn, and produces a vector output result (shown for illustration purposes as a two-dimensional vector consisting of out_1 and out_2).

[0061] Typically, each neuron (i.e., node) generates one output that is fed forward to the neurons in the immediately following layer. However, each neuron in a hidden layer may receive multiple inputs, either from the input layer or from the outputs of neurons in the immediately preceding hidden layer. In general, each node may apply a function to its inputs to generate an output for that node. Nodes in a hidden layer (e.g., the learning layer) may apply the same function to each of their inputs to generate each of their outputs. However, some nodes, e.g., nodes in the input layer InL, may only receive one input and be passive, meaning that they simply relay the value of that one input to their output, e.g., they provide a copy of that input to their output, which is indicated by dashed arrows in the nodes of the input layer InL for illustration purposes.

[0062] For illustrative purposes, FIG. 13 shows a simplified neural network consisting of an input layer InL′, a hidden layer HL1′, and an output layer OutL′. The input layer InL′ is shown to have two input nodes i1 and i2, which receive inputs Input_1 and Input_2, respectively (e.g., the input nodes of layer InL′ receive two-dimensional input vectors). The input layer InL′ feeds forward into one hidden layer HL1′ with two nodes h1 and h2, which in turn feeds forward into an output layer OutL′ with two nodes o1 and o2. The interconnections, or links, between neurons (shown as solid arrows for illustrative purposes) have weights w1 through w8. Typically, except for the input layer, a node (neuron) may receive as input the output of a node in the layer immediately preceding it. Each node may calculate its output by multiplying each of its inputs by each input's corresponding interconnection weight, adding the products of the inputs, adding (or multiplying) a constant defined by other weights or biases that may be associated with that particular node (e.g., node weights w9, w10, w11, w12 corresponding to nodes h1, h2, o1, and o2, respectively), and then applying a nonlinear or logarithmic function to the result. The nonlinear function may be referred to as an activation function or a transfer function. Multiple activation functions are known in the art, and the selection of a particular activation function is not important to this discussion. However, it should be noted that the operation of an ML model, the behavior of a neural net depends on the values ​​of the weights, which the neural network may be trained to provide a desired output for a given input.

[0063] During a training, or learning, phase, a neural net learns (e.g., is trained to identify) appropriate weight values ​​to achieve a desired output for a given input. Before a neural net is trained, each weight may be individually assigned an initial (e.g., random, optionally non-zero) value, e.g., a random number seed. Various methods for assigning initial weights are known in the art. The weights are then trained (optimized) so that, for a given training vector input, the neural network produces an output that is close to a desired (predetermined) training vector output. For example, the weights may be gradually adjusted over thousands of iterative cycles by a method called backpropagation. In each backpropagation cycle, a training input (e.g., a vector input or training input image / sample) is passed forward through the neural network to provide its actual output (e.g., a vector output). An error for each output neuron, or output node, is then calculated based on the actual neuron's output and the supervised training output for that neuron (e.g., a training output image / sample that corresponds to the current training input image / sample). It then propagates backwards through the neural network (from the output layer back to the input layer) and updates the weights based on how much influence each weight has on the overall error, so that the output of the neural network approaches the desired training output. This cycle is then repeated until the actual output of the neural network is within an acceptable error range of the desired training output for that training input. As will be appreciated, each training input may require many backpropagation iterations to achieve the desired error range. Typically, an epoch refers to one backpropagation iteration (e.g., one forward pass and one backward pass) of all training samples, and many epochs may be required to train a neural network. In general, the larger the training set, the better the performance of the trained ML model, so various data augmentation methods may be used to increase the size of the training set.For example, if the training set includes pairs of corresponding training input images and training output images, the training images may be divided into multiple corresponding image segments (or patches). Corresponding patches from the training input images and the training output images may be paired to define multiple training patch pairs from one input / output image pair, thereby expanding the training set. However, training a large training set increases the demands on computer resources, such as memory and data processing resources. The computational demands may be reduced by dividing the large training set into multiple mini-batches, the size of which determines the number of training samples in one forward / backward pass. In this case, and one epoch may include multiple mini-batches. Another problem is the possibility that the NN may overfit the training set, reducing its ability to generalize from a particular input to different inputs. The problem of overfitting may be reduced by creating an ensemble of neural networks or by randomly dropping out nodes in the neural network during training, which effectively removes the dropped leads from the neural network. Various dropout adjustment methods are known in the art, such as inverse dropout.

[0064] It should be noted that the computation of the trained NN machine model is not a simple algorithm of computation / analysis steps. Indeed, when the trained NN machine model receives an input, the input is not analyzed in the traditional sense. Rather, regardless of the subject or nature of the input (e.g., vectors defining a live image / scan, or vectors defining any other entity such as a demographic description or activity record), the input is subject to the same architectural construction of the trained neural network (e.g., the same node / layer arrangement, trained weights and bias values, predetermined convolution / deconvolution operations, activation functions, pooling operations, etc.), and it may not be obvious how the architectural construction of the trained network generates its output. Furthermore, the values ​​of the trained weights and biases are not deterministic and depend on many factors, such as the amount of time given to the neural network for training (e.g., the number of epochs in training), the random starting values ​​of the weights before training begins, the computer architecture of the machine on which the NN is trained, the choice of training samples, the distribution of the training samples among multiple mini-batches, the choice of activation function, the choice of error function that modifies the weights, and even whether training is interrupted on one machine (e.g., with a first computer architecture) and completed on another machine (e.g., with a different computer architecture). The point is that the reason why a trained ML model arrived at a particular output is not obvious, and much research is currently being done to identify the factors on which the ML model bases its output. Thus, the processing of neural networks on live data cannot be reduced to a simple algorithm of steps. Rather, the operation depends on the training architecture, the training sample set, the training sequence, and various circumstances in the training of the ML model.

[0065] In summary, the construction of a NN machine learning model may include a learning (or training) stage and a classification (or computation) stage. In the learning stage, a neural network may be trained for a specific purpose and may be provided with a set of training examples, including training (sample) inputs and training (sample) outputs, and optionally a set of validation examples to test the progress of the training. During this learning process, various weights associated with the nodes and node interconnections in the neural network are gradually adjusted to reduce the error between the actual output of the neural network and the desired training output. In this way, a multi-layer feedforward neural network (such as those described above) may be able to approximate any measurable function to any desired accuracy. The result of the learning stage is a learned (e.g., trained) (neural network) machine learning (ML). In the computation stage, a set of test inputs (or live inputs) may be provided to the learned (trained) ML model, which may apply what it has learned to generate output predictions based on the test inputs.

[0066] Similar to the regular neural networks of Fig. 12 and Fig. 13, convolutional neural networks (CNNs) are also composed of neurons with learnable weights and biases. Each neuron receives an input and performs an operation (e.g., a dot product), optionally followed by a nonlinear transformation. However, CNNs receive raw image pixels at one end (e.g., the input end) and provide classification (or class) scores at the other end (e.g., the output end). Because CNNs expect images as input, they are optimized to handle volumes (e.g., the pixel height and width of the image, and the depth of the image, e.g., color depth, such as RGB depth defined by three colors, red, green, and blue). For example, layers of CNNs may be optimized for neurons arranged in three dimensions. Neurons in a CNN layer may be connected to a small region of the previous layer, rather than all of the neurons of a fully connected NN. The final output layer of a CNN may reduce the full image to one vector (classification) arranged along the depth dimension.

[0067] FIG. 14 provides an exemplary convolutional neural network architecture. A convolutional neural network may be defined as a sequence of two or more layers (e.g., layer 1 to layer N), where a layer may include a (image) convolution step, a (result) weighted sum step, and a nonlinear function step. The convolution may be performed on the input data by applying a filter (or kernel) on, for example, a moving window over the input data to generate a feature map. Each layer and layer component may have different predefined filters (from a filter bank), weights (or weighting parameters), and / or function parameters. In this example, the input data is an image of a certain pixel height and width, and may be the raw pixel values ​​of this image. In this example, the input image is depicted to have a depth of three color channels RGB (red, green, blue). Optionally, various preprocessing may be performed on the input image, and the results of the preprocessing may be input instead of or in addition to the raw image data. Some examples of image processing may include retinal vessel map segmentation, color space conversion, adaptive histogram equalization, connected component generation, etc. Within a layer, a dot product may be calculated between certain weights and the small regions to which they are connected in the input volume. While many methods for constructing CNNs are known in the art, by way of example, layers may be constructed to apply element-wise activation functions, such as a max(0,x) threshold at zero. A pooling function may be performed (e.g., along the xy direction) to downsample the volume. A fully connected layer may be used to identify classification outputs and generate one-dimensional output vectors, which have proven useful for image recognition and classification. However, for image segmentation, a CNN needs to classify each pixel. Since each CNN layer tends to reduce the resolution of the input image, another stage is needed to upsample the image to its original resolution. This may be achieved by application of a transposed convolution (or deconvolution) stage TC, which typically does not use any predefined interpolation method, but instead has learnable parameters.

[0068] Convolutional neural networks have been successfully applied to many problems in computer vision. As mentioned above, training a CNN generally requires a large training dataset. The U-Net architecture is based on a CNN and can generally be trained with a smaller training dataset than a traditional CNN.

[0069] FIG. 15 illustrates an exemplary U-Net architecture. This exemplary U-Net includes an input module (or input layer or stage), which receives an input U-in (e.g., an input image or image patch) of any size. For convenience, the image size at any stage or layer is indicated within a box representing the image, e.g., in the input module, the numbers "128x128" are enclosed to indicate that the input image U-in is composed of 128x128 pixels. The input image may be a fundus image, an OCT / OCTA en face, a B-scan image, etc. However, it should be understood that the input may be of any size or dimension. For example, the input image may be an RGB color image, a monochrome image, a volumetric image, etc. The input image passes through a series of processing layers, each of which is illustrated with exemplary sizes, but these sizes are for illustrative purposes only and will depend on, for example, the size of the image, the convolution filters, and / or the pooling stages. The architecture consists of a convergent path (herein illustratively including four encoding modules) followed by an augmented path (herein illustratively including four decoding modules) with copy-and-crop links (e.g., CC1-CC4) between the corresponding modules / stages that copy the output of one encoding module in the convergent path and combine (e.g., append) it to the upconverted input of the corresponding decoding module in the augmented path. The result is a characteristic U-shape from which the architecture is named. Optionally, for computational considerations or the like, a "bottleneck" module / stage (BN) can be placed between the convergent path and the augmented path. The bottleneck BN may consist of two convolutional layers (with batch normalization and optional dropout).

[0070] Convergent paths are similar to encoders, and typically use feature maps to capture context (or feature) information. In this example, each encoding module in the convergent path includes two or more convolutional layers, indicated by an asterisk symbol "*", which may be followed by a max pooling layer (e.g., a downsampling layer). For example, an input image U-in is shown going through two convolutional layers, each with 32 feature maps. It can be understood that each convolutional kernel produces a feature map (e.g., the output from a convolution operation with a given kernel is an image, commonly referred to as a "feature map"). For example, the input U-in goes through a first convolution that applies 32 convolutional kernels (not shown), producing an output consisting of 32 individual feature maps. However, as is known in the art, the number of feature maps produced by a convolution operation can be adjusted (upwards or downwards). For example, the number of feature maps can be reduced by averaging groups of feature maps, removing some feature maps, or other known methods of reducing feature maps. In this example, this first convolution is followed by a second convolution whose output is limited to 32 feature maps. Another way to envision the feature maps is to consider the output of the convolution layer as a 3D image whose 2D dimensions are given by the described XY plane pixel dimensions (e.g., 128×128 pixels) and whose depth is given by the number of feature maps (e.g., the depth of the 32 plane images). Following this illustration, the output of the second convolution (e.g., the output of the first encoding module of the convergence path) can be described as a 128×128×32 image. The output from the second convolution is then subjected to a pooling operation, which reduces the 2D dimensions of each feature map (e.g., the X and Y dimensions can each be reduced by half). The pooling operation can be embodied within a downsampling process, as indicated by the downward arrow. Several pooling methods, such as max pooling, are known in the art, and the particular pooling method is not critical to the present invention.The number of feature maps doubles with each pooling: 32 feature maps in the first encoding module (or block), 64 feature maps in the second encoding module, etc. Thus, the convergent path forms a convolutional network composed of multiple encoding modules (or stages or blocks). As is typical for convolutional networks, each encoding module may provide at least one convolution stage followed by an activation function (e.g., a rectified linear unit (ReLU) or sigmoid layer) (not shown), and a max-pooling operation. In general, the activation function introduces nonlinearity in the layer (e.g., to avoid overfitting problems), receives the results of the layer, and decides whether to "activate" the output (e.g., decides whether the value in a particular node meets a predefined criterion to forward the output to the next layer / node). In summary, the convergent path generally reduces spatial information and increases feature information.

[0071] The extension path is similar to the decoder, notably providing localization, and spatial information to the results of the convergence path, despite the downsampling and any max pooling performed in the contraction stage. The extension path includes multiple decoding modules, each of which combines its current upconverted input with the output of the corresponding encoding module. Thus, features and spatial information are combined in the extension path through a series of upconvolutions (e.g., upsampling or transposed convolutions, i.e., deconvolutions) and combinations (e.g., via CC1-CC4) with high-resolution features from the convergence path. Hence, the output of the deconvolution layer is combined with the corresponding (optionally cropped) feature map from the convergence path, followed by two convolution layers and activation functions (optionally batch normalization). The output from the last extension module in the extension path may be fed to other processing / training blocks or layers, such as a classifier block, which may be trained together with the U-Net architecture.

[0072] Computing Devices / Systems FIG. 16 illustrates an exemplary computer system (or computing device or computer device). In some embodiments, one or more computer systems may provide functionality described or illustrated herein and / or perform one or more steps of one or more methods described or illustrated herein. A computer system may take any suitable physical form. For example, a computer system may be an embedded computer system, a system on a chip (SOC), or a single board computer system (SBC) (e.g., a computer on module (COM) or a system on module (SOM)), a desktop computer system, a laptop or notebook computer system, a mesh of computer systems, a mobile phone, a personal digital assistant (PDA), a server, a tablet computer system, an augmented / virtual reality device, or a combination of two or more of these. Where appropriate, a computer system may be in a cloud, which may include one or more cloud components in one or more networks.

[0073] In some embodiments, the computer system may include a processor Cpnt1, a memory Cpnt2, a storage Cpnt3, an input / output (I / O) interface Cpnt4, a communication interface Cpnt5, and a bus Cpnt6. The computer system may also optionally include a display Cpnt7, such as a computer monitor or screen.

[0074] The processor Cpnt1 includes hardware for executing instructions, such as those that constitute a computer program. For example, the processor Cpnt1 may be a central processing unit (CPU) or a general-purpose computing-on-graphics processing unit (GPGPU). The processor Cpnt1 may read (or fetch) instructions from an internal register, an internal cache, a memory Cpnt2, or a storage Cpnt3, decode and execute the instructions, and write one or more results to the internal register, the internal cache, the memory Cpnt2, or the storage Cpnt3. In a particular embodiment, the processor Cpnt1 may include one or more internal caches for data, instructions, or addresses. The processor Cpnt1 may include one or more instruction caches, one or more data caches, for example to hold data tables. Instructions in the instruction caches may be copies of instructions in the memory Cpnt2 or the storage Cpnt3, and the instruction caches may speed up the retrieval of these instructions by the processor Cpnt1. The processor Cpnt1 may include any suitable number of internal registers and may include one or more arithmetic logic units (ALUs). The processor Cpnt1 may be a multi-core processor or may include one or more processors Cpnt1. Although this disclosure describes and illustrates a particular processor, this disclosure contemplates any suitable processor.

[0075] The memory Cpnt2 may include a main memory that stores instructions for the processor Cpnt1 to execute processing or to hold intermediate data during processing. For example, the computer system may load instructions or data (e.g., data tables) from the storage Cpnt3 or from other sources (e.g., other computer systems) into the memory Cpnt2. The processor Cpnt1 may load instructions and data from the memory Cpnt2 into one or more internal registers or internal caches. To execute an instruction, the processor Cpnt1 may read and decode an instruction from the internal register or internal cache. During or after the execution of an instruction, the processor Cpnt1 may write one or more results (which may be intermediate or final results) to the internal registers, the internal cache, the memory Cpnt2, or the storage Cpnt3. The bus Cpnt6 may include one or more memory buses (which may each include an Azures bus and a data bus) and may couple the processor Cpnt1 to the memory Cpnt2 and / or the storage Cpnt3. Optionally, one or more memory management units (MMUs) facilitate data transfer between the processor Cpnt1 and the memory Cpnt2. The memory Cpnt2 (which may be a high-speed volatile memory) may include a random access memory (RAM), such as a dynamic RAM (DRAM) or a static RAM (SRAM). The storage Cpnt3 may include a long-term or large-capacity storage for data or instructions. The storage Cpnt3 may be internal or external to the computer system and may include one or more of a disk drive (e.g., a hard disk drive HDD, or a solid-state drive SSD), a flash memory, a ROM, an EPROM, an optical disk, a magnetic optical disk, a magnetic tape, a universal serial bus (USB)-accessible drive, or other types of non-volatile memory.

[0076] The I / O interface Cpnt4 may be software, hardware, or a combination of both, and may include one or more interfaces (e.g., serial or parallel communication ports) for communicating with I / O devices, which may enable communication with a human (e.g., a user). For example, the I / O devices may include a keyboard, keypad, microphone, monitor, mouse, printer, scanner, speaker, still camera, stylus, table, touch screen, trackball, video camera, other suitable I / O devices, or a combination of two or more thereof.

[0077] The communication interface Cpnt5 may provide a network interface for communicating with other systems or networks. The communication interface Cpnt5 may include a Bluetooth interface or other types of packet-based communication. For example, the communication interface Cpnt5 may include a network interface controller (NIC) and / or a wireless NIC or wireless adapter for communication with a wireless network. The communication interface Cpnt5 may provide communication with a WI-FI network, an ad-hoc network, a personal area network (PAN), a wireless PAN (e.g., Bluetooth WPAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a mobile phone network (e.g., a Global System for Mobile Communications (GSM) network, etc.), the Internet, or a combination of two or more of these.

[0078] The bus Cpnt6 may provide a communication link between the above-mentioned components of the computing system. For example, bus Cpnt6 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand bus, a low-pin-count (LPC) bus, a memory bus, a MicroChannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or any other suitable bus, or a combination of two or more thereof.

[0079] Although this disclosure describes and illustrates a particular computer system having a particular number of particular components in a particular arrangement, this disclosure contemplates any suitable computer system having any suitable number of any suitable components in any suitable arrangement.

[0080] As used herein, a computer-readable non-transitory storage medium may include one or more semiconductor-based or other integrated circuits (ICs) (e.g., field programmable gate arrays (FPGAs) or application specific ICs (ASICs)), hard disk drives (HDDs), hybrid hard drives (HHDs), optical disks, optical disk drives (ODDs), magneto-optical disks, magneto-optical drives, floppy diskettes, floppy disk drives (FDDs), magnetic tapes, solid state drives (SSDs), RAM-drives, SECURE DIGITAL cards or drives, any other suitable computer-readable non-transitory storage medium, or any suitable combination of two or more thereof, as appropriate. A computer-readable non-transitory storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, as appropriate.

[0081] While the present invention has been described in conjunction with several specific embodiments, as will be apparent to those skilled in the art in light of the foregoing description, many other alternatives, modifications, and variations will be apparent. Accordingly, the invention described herein is intended to embrace all such alternatives, modifications, applications, and variations that may fall within the spirit and scope of the appended claims.

Claims

1. 1. A method for reducing artifacts in optical coherence tomography (OCT) based images of an eye, comprising: collecting (S1) OCT image data (36) of an eye from an OCT system (OCT_1), the OCT image data including depth indication information; providing (S2) the OCT image data (36) to a trained neural network, the neural network applying contextually distinct calculations at different axial positions based at least in part on the depth indication information and generating (S3) an output OCT-based image having reduced artifacts compared to the collected OCT image data (36); The neural network comprises: an input layer (34) for receiving the OCT image data (36); a dynamic pooling layer (32) following the input layer (34) for compressing image information outside a variable depth range defined by the locations of a plurality of preselected retinal landmarks within the received OCT image data (36); a plurality of data processing layers (31 a, 31 b, 33 a, 33 b) following the dynamic pooling layer (32) for performing contextually different calculations at different axial positions based at least in part on the depth indication information; and an output layer (57) that compares outputs of the plurality of data processing layers (31 a, 31 b, 33 a, 33 b) with a target output OCTA image (59) and adjusts internal weights of the plurality of data processing layers (31 a, 31 b, 33 a, 33 b) by backpropagation processing.

2. The method of claim 1 , wherein the different computations are contextually dependent on pre-defined local retinal landmarks.

3. The method of claim 2 , wherein the plurality of retinal landmarks is a plurality of predetermined retinal layers.

4. The method of claim 1 , wherein the artifacts are one or more of a projection artifact, a decorrelation tail, a shadow artifact, and opacity.

5. 5. The method of claim 1, wherein the neural network applies a loss function (61) having different weights based on the local proximity of the preselected retinal landmarks to a current axial position of the OCT image data being processed.

6. The method of claim 1 , wherein the preselected retinal landmarks are specific retinal layers.

7. The method of claim 6 , wherein the neural network applies a loss function (61) having different weights based on specific retinal layers.

8. 8. The method of claim 7, wherein the loss function (61) has a first weight for the region between the inner limiting membrane (ILM) and the retinal pigment epithelium (RPE) and a second weight for other locations.

9. The method of claim 8 , wherein the first weight is at least an order of magnitude greater than the second weight.

10. A method for reducing artifacts in ocular optical coherence tomography (OCT) based images, comprising: collecting (S1) OCT image data (36) of an eye from an OCT system (OCT_1), the OCT image data including depth indication information; providing (S2) the OCT image data (36) to a trained neural network, the neural network applying contextually distinct calculations at different axial positions based at least in part on the depth indication information and generating (S3) an output OCT-based image having reduced artifacts compared to the collected OCT image data (36); The neural network includes a U-Net structure, the U-Net structure comprising: A plurality of coding modules in a convergent path (CC1, CC2, CC3, CC4); a plurality of decoding modules in an extension path, each decoding module corresponding to a respective encoding module in the convergence path (CC1, CC2, CC3, CC4); A method in which each encoding module applies a convolution to an input and applies column-wise max pooling to the convolution results to form a reduced image, which is then upsampled to the dimensions of the input and combined with the input before another convolution is performed.

11. The method of claim 10, wherein the U-Net structure further includes a bottleneck module (BN) between the convergence path (CC1, CC2, CC3, CC4) and the expansion path, the bottleneck module (BN) applying column-wise pooling.

12. A method for reducing artifacts in ocular optical coherence tomography (OCT) based images, comprising: collecting (S1) OCT image data (36) of an eye from an OCT system (OCT_1), the OCT image data including depth indication information; Calculating motion contrast information in the collected OCT image data using OCT angiography (hereinafter referred to as OCTA) processing techniques (Sub2); generating an ocular structural image from the collected OCT image data, the structural image depicting tissue structural information; creating an ocular flow image from said motion contrast information (Sub3), said flow image depicting vasculature flow information and including artifacts; allocating said depth indication information along an axial direction to said flow image (Sub4); and providing (S2) the structural image, the flow image, and the assigned depth index information to a trained neural network, wherein the neural network applies contextually distinct calculations at different axial positions based at least in part on the depth index information and generates (S3) an output OCT-based image having reduced artifacts compared to the collected OCT image data (36), the generated output OCT-based image being a vascular image having reduced artifacts compared to the flow image.

13. Training the neural network includes: Collecting (B1) a plurality of OCT acquisitions to form a training input OCT image (16); forming a plurality of OCTA images from the OCT acquisitions to form corresponding training input OCTA images (16); providing each OCTA image to an artifact removal algorithm (B5) to generate a corresponding target output OCTA image with reduced artifacts (B6); 13. The method of claim 1, further comprising: defining (B7) a plurality of training input sets, each training input set including a training input OCT image (16), a corresponding OCTA image (14), and depth information (18) for a plurality of axial positions of a plurality of pixels in the OCTA image (14).

14. A method for reducing artifacts in ocular optical coherence tomography (OCT) based images, comprising: collecting (S1) OCT image data (36) of an eye from an OCT system (OCT_1), the OCT image data including depth indication information; providing (S2) the OCT image data (36) to a trained neural network, the neural network applying contextually distinct calculations at different axial positions based at least in part on the depth indication information and generating (S3) an output OCT-based image having reduced artifacts compared to the collected OCT image data (36); The neural network comprises: an input layer (34) for receiving the structure image, the flow image, and the assigned depth index information; a dynamic pooling layer (32) following the input layer (34) for compressing information outside a variable depth range defined by the locations of a number of preselected retinal landmarks; a plurality of data processing layers (31 a, 31 b, 33 a, 33 b) following the dynamic pooling layer (32) for performing contextually different calculations at different axial positions based at least in part on the depth indication information; an output layer (57) that compares outputs of the plurality of data processing layers (31 a, 31 b, 33 a, 33 b) with a target output OCTA image (59) and adjusts internal weights of the plurality of data processing layers by backpropagation processing.

Citation Information

Patent Citations

  • Correction of decorrelation tail artifacts in a whole OCT-A volume

    US10441164B1

  • Image processing apparatus, image processing method, and program

    WO2020049828A1