Blood flow image computing method and apparatus, and electronic device
Through Fourier transform and convolution kernel processing the amplitude and phase relationship of adjacent pixels, the problem of insufficient accuracy of blood flow information in the prior art is solved, and a higher signal-to-noise ratio and accuracy are achieved.
Patent Information
- Application Number
- PCT/CN2024/131608
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-16
- Filing Date
- 2024-11-12
- Publication Date
- 2025-05-22
AI Technical Summary
When analyzing B-scan images, the existing optical coherence tomography blood flow technology fails to fully consider the amplitude and phase relationship between adjacent pixels, resulting in the accuracy of blood flow information that needs to be improved.
By obtaining the scanned image set, performing Fourier transform, the convolution calculation is performed using a preset convolution kernel to generate a sub-image set, and finally obtaining a blood flow image through decorrelation calculation and weight calculation.
This method improves the signal-to-noise ratio and accuracy of blood flow images by considering the amplitude and phase relationship between adjacent pixels, and significantly improves the accuracy of blood flow calculation.
Smart Images

Figure CN2024131608_22052025_PF_FP_ABST
Abstract
Description
Blood flow image calculation method, device and electronic equipment
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Chinese patent application number 2023115336917, filed with the Chinese Patent Office on November 16, 2023, entitled “A blood flow image calculation method, device and electronic device,” the entire contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to the field of image processing technology, and in particular to a blood flow calculation method, device, electronic device and storage medium for optical coherence tomography. Background Art
[0004] Optical coherence tomography blood flow technology (OCT Angiography) is an important technology for non-invasive diagnosis of fundus diseases that has emerged in recent years.
[0005] Most current blood flow analysis solutions rely on continuously acquiring multiple B-scan images at a single scanning location and analyzing the differences between these images to derive blood flow information. Existing analysis methods often rely on a one-to-one mapping of a single pixel in the output image to a single pixel at the same location in the input image. This approach fails to account for the potential relationship between the amplitude and phase of adjacent pixels, leaving the analysis results less accurate.
[0006] Summary of the Invention
[0007] In view of this, the purpose of this application is to provide a blood flow calculation method, device and electronic equipment.
[0008] In a first aspect, an embodiment of the present application provides a blood flow image calculation method, the method comprising:
[0009] Acquire a scan image set, wherein the scan image set includes at least two OCT images obtained by scanning a target position;
[0010] For each of the OCT images, performing Fourier transform on the OCT image to obtain a complex amplitude image;
[0011] Based on at least two preset convolution kernels, convolution calculation is performed on each of the convolution kernels and each of the complex amplitude images to obtain a sub-image set corresponding to each of the convolution kernels;
[0012] determining the first image set according to all the sub-image sets;
[0013] Calculation is performed on the images in the first image set to obtain a blood flow image.
[0014] In conjunction with the first aspect, the step of calculating the images in the first image set to obtain a blood flow image includes:
[0015] Pairing the images in the sub-image set corresponding to each convolution kernel based on a preset pairing rule to obtain an image pair;
[0016] For each of the image pairs, perform decorrelation calculation on the image pair to obtain a first intermediate result corresponding to the image pair;
[0017] Determine a first target result corresponding to each convolution kernel according to all the first intermediate results;
[0018] A blood flow image is obtained by calculation based on all the first target results.
[0019] In combination with the first aspect, for each of the image pairs, the step of performing decorrelation calculation on the image pair includes:
[0020] Calculate according to the following formula: D (a,a+1,i) =||CK (a,i) |-|CK (a+1,i) || / (|CK (a,i) |+|CK (a+1,i) |+Sigma);
[0021] Among them, D (a,a+1,i) CK is the first intermediate result obtained by decorrelation calculation based on the image pair formed by convolving the a-th complex amplitude image and the a+1-th complex amplitude image with the i-th convolution kernel; (a,i) is the complex image obtained by convolving the a-th complex amplitude image with the i-th convolution kernel, CK (a+1,i) The complex image obtained by convolving the a+1th complex amplitude image with the i-th convolution kernel. Sigma is zero or a positive number.
[0022] In combination with the first aspect, for each of the image pairs, the step of performing decorrelation calculation on the image pair includes:
[0023] Calculate according to the following formula: D (a,a+1,i) =(|CK (a,i) |-|CK (a+1,i) |) 2 / (|CK (a,i) | 2 +|CK (a+1,i) | 2 +Sigma).
[0024] In combination with the first aspect, after the step of pairing the images in the sub-image set corresponding to each convolution kernel based on a preset pairing rule to obtain image pairs, the method further includes:
[0025] For each of the image pairs, determining whether the absolute values of the first complex image and the second complex image in the image pair are both smaller than a first set threshold;
[0026] If so, it is determined that the first intermediate result corresponding to the image pair is a preset value.
[0027] In combination with the first aspect, the step of determining the first target result corresponding to each convolution kernel according to all the first intermediate results includes:
[0028] The first target result corresponding to each convolution kernel is determined by averaging or median-ing all the first intermediate results corresponding to each convolution kernel.
[0029] In conjunction with the first aspect, the step of obtaining a blood flow image based on all the first target results includes:
[0030] Get the weight corresponding to each convolution kernel;
[0031] The blood flow image is calculated based on the weights corresponding to the convolution kernels and all the first target results.
[0032] In combination with the first aspect, the step of calculating the blood flow image according to the weights corresponding to the convolution kernels and all the first target results includes:
[0033] The blood flow image is obtained by summing the product of the weight corresponding to each convolution kernel and the first target result corresponding to the convolution kernel.
[0034] In combination with the first aspect, the step of calculating the blood flow image according to the weights corresponding to the convolution kernels and all the first target results includes:
[0035] The blood flow image is calculated according to the following formula: Angio = ∑(D i ×W i )÷∑W i ;
[0036] Among them, Angio is the output blood flow image, D i is the first target result corresponding to the i-th convolution kernel, W i is the weight corresponding to the i-th convolution kernel.
[0037] In conjunction with the first aspect, the step of obtaining a blood flow image based on all the first target results includes:
[0038] All the first target results are averaged, and the obtained average result is used as the blood flow image.
[0039] In combination with the first aspect, after the step of obtaining the scanned image set, the method further includes:
[0040] The scanned image set is input into a preset model, and the target blood flow image is output.
[0041] In combination with the first aspect, the training process of the model is as follows:
[0042] Acquire a training sample, wherein the training sample includes a first number of images;
[0043] Calculating a first number of the images according to a preset algorithm to obtain a first blood flow image;
[0044] Taking the first blood flow image as the target result, and initializing the convolution kernel and weights;
[0045] selecting a second number of images from the first number of images as a second image set; wherein the second number is smaller than the first number;
[0046] Calculating the images in the second image set using the blood flow image calculation method according to the initialized convolution kernel and the weight to obtain a second blood flow image;
[0047] calculating a residual between the second blood flow image and the target result;
[0048] Accumulating the residuals to obtain a loss function of the model;
[0049] The model is optimized according to the loss function until a preset condition is met to obtain the optimized model, wherein the optimized model includes an optimized convolution kernel and the weight corresponding to the optimized convolution kernel.
[0050] In combination with the first aspect, the step of calculating the first number of images according to a preset algorithm to obtain a first blood flow image includes:
[0051] The output blood flow image is calculated according to the following formula:
[0052] Wherein, Angio is the output blood flow image, C i is the complex amplitude image corresponding to the i-th image, Sigma is zero or a positive number, Sigma is determined according to the system noise, and M is the first number;
[0053] The output blood flow image is subjected to low-pass filtering and denoising processing to obtain the first blood flow image.
[0054] Combined with the first aspect, the steps of initializing the convolution kernel and weights include:
[0055] Assume that the number of convolution kernels is n, set the central element of the first convolution kernel to 1 and the rest to 0; set all elements of the second convolution kernel whose distance from the center is 1 to 1 / L, where L is the number of all non-zero elements and the rest to 0; and so on;
[0056] Initialize the weights to Among them, W i is the weight corresponding to the i-th convolution kernel.
[0057] In combination with the first aspect, before the step of performing Fourier transform on the OCT image, the method further includes:
[0058] The OCT image is subjected to dispersion correction processing to correct the dispersion of the image.
[0059] In combination with the first aspect, after the step of performing Fourier transform on the OCT image to obtain a complex amplitude image, the method further includes:
[0060] For each of the complex amplitude images, calculating the absolute value of the signal corresponding to the complex amplitude image and using it as a real amplitude image;
[0061] For each of the real amplitude images, calculating the logarithm of the signal corresponding to the real amplitude image to obtain a first structural image;
[0062] selecting one of the first structural images as a reference image, and determining the first structural images other than the reference image as images to be corrected;
[0063] For each of the images to be corrected, calculating the amount of misalignment between the reference image and the image to be corrected;
[0064] The complex amplitude image corresponding to the image to be corrected is corrected according to all the misalignment amounts to obtain a corrected complex amplitude image.
[0065] In a second aspect, the present application provides a blood flow image calculation device, the device comprising:
[0066] an image acquisition module configured to acquire a scan image set, wherein the scan image set includes at least two OCT images obtained by scanning a target position;
[0067] an image transformation module configured to perform a Fourier transform on each OCT image to obtain a complex amplitude image;
[0068] a convolution calculation module configured to perform convolution calculation on each of the convolution kernels and each of the complex amplitude images based on at least two preset convolution kernels to obtain a sub-image set corresponding to each of the convolution kernels;
[0069] a determination module configured to determine the first image set based on all the sub-image sets;
[0070] The blood flow image calculation module is configured to calculate the images in the first image set to obtain a blood flow image.
[0071] In a third aspect, the present application provides an electronic device comprising: a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the computer program to implement the method as described in the first aspect above.
[0072] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method described in the first aspect is implemented.
[0073] In a fifth aspect, the present application provides a computer program product, comprising a computer program, which implements the method described in the first aspect when executed by a processor.
[0074] The embodiments of the present application bring the following beneficial effects: The present application provides a blood flow image calculation method, device and electronic device, the method comprising: acquiring a scan image set, the scan image set comprising at least two OCT images obtained by scanning a target position; for each of the OCT images, performing Fourier transform on the OCT image to obtain a complex amplitude image; based on at least two preset convolution kernels, convolving each of the convolution kernels with each of the complex amplitude images to obtain a sub-image set corresponding to each convolution kernel; determining the first image set based on all the sub-image sets; and calculating the images in the first image set to obtain a blood flow image.
[0075] In this application, a convolution calculation is performed on the complex amplitude image after Fourier transformation through a convolution kernel, and then calculation is performed based on multiple complex images corresponding to each convolution kernel, taking into account the amplitude and phase relationship between adjacent pixels to improve the accuracy of the calculation results. Then, a blood flow image is calculated based on all the first target results to fully optimize the signal-to-noise ratio of the blood flow image, thereby improving the accuracy of the blood flow image.
[0076] Other features and advantages of the present application will be described in the following description, and in part will become apparent from the description or be understood by practicing the present application. The objectives and other advantages of the present application are realized and obtained by the structures particularly pointed out in the description, claims and drawings.
[0077] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0078] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the following is a brief introduction to the drawings required for use in the specific implementation methods or the description of the prior art. Obviously, the drawings described below are some implementation methods of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without any creative work.
[0079] FIG1 is a flow chart of a blood flow image calculation method provided in an embodiment of the present application;
[0080] FIG2 is a schematic diagram of the structure of a blood flow image calculation device provided in an embodiment of the present application;
[0081] FIG3 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application;
[0082] FIG4 is a first blood flow image obtained by calculating the acquired B-scan image according to a preset algorithm in the related art;
[0083] FIG5 is a second blood flow image obtained after performing convolution calculation on the acquired B-scan image by the method provided in an embodiment of the present application.
[0084] Reference numerals:
[0085] 10-image acquisition module, 20-image transformation module, 30-convolution calculation module, 40-determination module, 50-blood flow image calculation module;
[0086] 41 - processor, 42 - bus, 43 - communication interface, 44 - memory. DETAILED DESCRIPTION
[0087] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.
[0088] To facilitate understanding of this embodiment, the following is a brief introduction to the technical terms used in this application.
[0089] OCT (Optical Coherence Tomography) technology has been widely used in the diagnosis of fundus diseases and is of great significance for the detection and treatment of ophthalmic diseases. The coherence of light is used to scan the fundus. Each depth scan at the same lateral position is called an A-scan, and multiple adjacent continuous scans are combined together to form a B-scan. A B-scan image is also an OCT cross-sectional image that we usually see. An OCT image is an image obtained by scanning the target position using an OCT device. The OCT image can be an A-scan image or a B-scan image. Compared with traditional methods, this method not only does not require blood flow contrast agents, but also can clearly image large and medium blood vessels and capillaries in multiple physiological structural layers of the retina. It can be used to diagnose various fundus diseases such as macular degeneration, neovascularization, diabetic retinopathy, vascular occlusion, and central serous chorioretinopathy.
[0090] After introducing the technical terms involved in this application, the application scenarios and design concepts of the embodiments of this application are briefly introduced.
[0091] Most existing analysis methods use a one-to-one mapping between a pixel of the output and a single pixel at the same position in the input image, without considering the possible relationship between the amplitude and phase of statistically adjacent pixels.
[0092] Based on this, the present application implements a blood flow image calculation method, device, and electronic device. After acquiring a scan image set, a convolution calculation is performed on each B-scan image in the scan image set through a convolution kernel to introduce the phase and amplitude relationship between different pixels around a pixel, and then the final blood flow image is calculated. In this way, the signal-to-noise ratio and accuracy of the blood flow image can be improved to obtain accurate blood flow calculation results. The blood flow calculation method provided in this embodiment is applied to a processor 41 in an electronic device, and the electronic device also includes a memory 44. The memory 44 stores a computer program, and the processor 41 executes the computer program to implement the method provided in the embodiment of the present application.
[0093] Example 1
[0094] This embodiment provides a blood flow image calculation method, as shown in FIG1 , including:
[0095] S110 , obtaining a scan image set, where the scan image set includes at least two OCT images obtained by scanning a target position.
[0096] S120 , for each OCT image, the processor performs Fourier transform on the OCT image to obtain a complex amplitude image.
[0097] S130 , based on at least two preset convolution kernels, performing convolution calculation on each convolution kernel and each complex amplitude image to obtain a sub-image set corresponding to each convolution kernel.
[0098] S140: Determine a first image set based on all sub-image sets.
[0099] S150: Calculate the images in the first image set to obtain a blood flow image.
[0100] In this embodiment, step S110 may include: scanning the target location using an OCT device or an OCTA device to obtain at least two B-scan images; as an operative approach, the scanning location is a predetermined location, the depth direction is defined as the z-axis of the coordinate system of the eye being examined, and the x-axis and y-axis are planned in a plane perpendicular to the z-axis. Along the x-axis of the plane coordinate system as the fast scan direction and the y-axis as the slow scan direction, at least two B-scan images are continuously acquired in the same slow scan direction. In this embodiment, the number M of B-scan images may be 4.
[0101] In combination with the above example, step S120 may include: for each OCT image, performing Fourier transform on the OCT image to obtain a complex amplitude image corresponding to each OCT image, that is, obtaining M complex amplitude images C i (i=1,…,M).
[0102] In step S130, the number of preset convolution kernels is N, denoted as K i (i=1, ..., N), and convolve these N convolution kernels with the M complex amplitude images obtained in step S120 to obtain a sub-image set corresponding to each convolution kernel. The amplitude and phase relationships between adjacent pixels are taken into account in step S130 to improve the accuracy of the calculation results.
[0103] For example, the preset N convolution kernels K j , (j=1, ..., N), N≥2, here we take N=3 as an example; then the four complex amplitude images C obtained by Fourier transform above i Each of the N convolution kernels is convolved to obtain a 4×3 complex image. Here i = 1, 2, 3, 4; j = 1, 2, 3; is the convolution operation.
[0104] In step S130 , each convolution kernel corresponds to a sub-image set, which contains M complex images, and there are N sub-image sets in total.
[0105] In step S140 , the set of N sub-image sets may be combined into a first image set.
[0106] In step S150 , calculations are performed on the images in the first image set obtained after the convolution calculation process to obtain a final blood flow image.
[0107] Compared with the existing technology, this embodiment convolves the complex amplitude image after Fourier transformation with a convolution kernel, thereby introducing the correlation between the phase and amplitude of a pixel and different surrounding pixels, and then performs calculations between different images on the convolution result, thereby improving the signal-to-noise ratio and accuracy of the blood flow image.
[0108] Optionally, step S150 of calculating the images in the first image set to obtain a blood flow image may specifically include:
[0109] S151: Based on a preset pairing rule, the processor pairs the images in the sub-image set corresponding to each convolution kernel to obtain an image pair.
[0110] S152: For each image pair, the processor performs decorrelation calculation on the image pair to obtain a first intermediate result corresponding to the image pair.
[0111] S153: The processor determines the first target result corresponding to each convolution kernel based on all the first intermediate results.
[0112] S154: The processor calculates according to all the first target results to obtain a blood flow image.
[0113] In this embodiment, decorrelation calculation is first performed on each sub-image set through steps S151 and S152 to obtain the first intermediate result corresponding to each image pair in the sub-image set, and then the first target result corresponding to each convolution kernel is determined by combining all the first intermediate results through step S153. Finally, the blood flow image is calculated by combining all the first target results through step S154.
[0114] Taking i = 3 as an example, the images in the sub-image set corresponding to convolution kernel K3 are derived from convolution of M complex amplitude images with convolution kernel K3. That is, the number of complex images corresponding to convolution kernel K3 is M. Pairing and decorrelation calculations are performed on two adjacent complex images to obtain a first intermediate result between the two complex images. Adjacent refers to the time of acquisition; decorrelation of two complex images essentially means decorrelation calculations on corresponding pixels in the two complex images.
[0115] Considering that the time span between non-adjacent B-scan images is relatively large and eye movement will introduce more noise, it is preferred to perform decorrelation calculation between adjacent B-scan images.
[0116] For the same convolution kernel K1, decorrelation calculation is performed between CKs (complex images) given by different B-scan images (i.e., between CK1 and CK2, CK2 and CK3, CK3 and CK4) to obtain corresponding decorrelation results, i.e., the first intermediate results.
[0117] Specifically, as an implementable manner, S152 performs decorrelation calculation on the image pair, and the first intermediate result corresponding to the image pair can be calculated according to the following formula: (a,a+1,i) =||CK (a,i) |-|CK (a+1,i) || / (|CK (a,i) |+|CK (a+1,i) |+Sigma);
[0118] As another practicable manner, S152 performs decorrelation calculation on the image pair, and obtains a first intermediate result corresponding to the image pair, calculated according to the following formula: (a,a+1) =(|CK (a,i) |-|CK (a+1,i) |) 2 / (|CK (a,i) | 2 +|CK (a+1,i) | 2 +Sigma).
[0119] Among them, D (a,a+1,i) is the first intermediate result obtained by decorrelation calculation based on the image pair formed by convolving the a-th complex amplitude image and the a+1-th complex amplitude image with the i-th convolution kernel; i is the i-th convolution kernel, CK (a,i) is the complex image obtained by convolving the a-th complex amplitude image with the i-th convolution kernel, CK (a+1,i) The complex image obtained by convolving the a+1th complex amplitude image with the i-th convolution kernel. Sigma is either zero or a positive number, selected based on the system noise. When the OCT image signal intensity is very low, the CK value is very low and D approaches 0.
[0120] As another practicable manner, after the step of obtaining the image pair in step S151, the method further includes:
[0121] S1510 , for each image pair, the processor determines whether the absolute values of the first complex image and the second complex image in the image pair are both smaller than a first set threshold.
[0122] If so, execute step S1511.
[0123] S1511: The processor determines that the first intermediate result corresponding to the image pair is a preset value.
[0124] In this embodiment, the preset value is 0.
[0125] All three of the above methods can be implemented; the third method can also be implemented simultaneously with the first or second method; this is not limited here.
[0126] Afterwards, optionally, for step S153, the first target result corresponding to each convolution kernel is determined based on all the first intermediate results: the first target result corresponding to each convolution kernel can be determined by taking the average result or the median of all the first intermediate results corresponding to each convolution kernel. It should be noted that the specific method of obtaining the first target result is not limited here.
[0127] Combining the above example, decorrelation calculation is performed between C1 and C2 to obtain D (1,2) , calculate D in the same way (2,3) , D (3,4) .
[0128] Then, calculate the first target result: D = (D (1,2) +D (2,3) +D (3,4) )÷3.
[0129] Again, an example is given below: when there are 2 B-scan images in the acquired scan image set and the number of convolution kernels is 1, the number of corresponding image pairs is 1. In this case, the first intermediate result obtained by calculation is the first target result.
[0130] Optionally, step S154 of obtaining a blood flow image by calculation based on all first target results may specifically include:
[0131] S1541: The processor obtains the weight corresponding to each convolution kernel.
[0132] S1542: The processor calculates a blood flow image based on the weights corresponding to the convolution kernels and all the first target results.
[0133] In step S1541, each convolution kernel corresponds to a weight. In this embodiment, the weight W i and convolution kernel K i The value of is preset based on experience.
[0134] In one possible implementation of step S1542, all first target results may be weighted and summed based on the weights corresponding to the convolution kernels to obtain a final blood flow image. Based on this, the blood flow image may be obtained by summing the product of the weight corresponding to each convolution kernel and the first target result corresponding to the convolution kernel. The preset weight W corresponding to each convolution kernel is obtained. i(i=1, ..., N); the final blood flow image is obtained by summing the product of the weight corresponding to each convolution kernel and the first target result corresponding to the convolution kernel. In this way, the signal-to-noise ratio of the blood flow image can be fully optimized, thereby improving the accuracy of the blood flow image.
[0135] In another possible implementation, the weighted average of all first target results can be used as the final blood flow image. Based on this, the blood flow image can be calculated according to the following formula: Angio = ∑ (D i ×W i )÷∑W i ;
[0136] Among them, Angio is the output blood flow image, D i is the first target result corresponding to the i-th convolution kernel, W i is the weight corresponding to the i-th convolution kernel.
[0137] Optionally, step S154 of obtaining a blood flow image by calculation based on all first target results may further include:
[0138] All the first target results are averaged, and the obtained average result is used as the final blood flow image.
[0139] Example 2
[0140] In the blood flow image calculation method provided in this embodiment, the weight W i and convolution kernel K i The value of is learned based on the preset model.
[0141] Specifically: after step S110, the scan image set obtained in step S110 may be input into a preset model to output a target blood flow image.
[0142] In this embodiment, the model training process can be as follows:
[0143] S210: The processor obtains a training sample, where the training sample includes a first number of images.
[0144] In this embodiment, OCT data with a relatively large number of repetitions may be collected, for example, each scanning position may be repeated 16 times, that is, M=16 B-scan images are obtained.
[0145] S220: The processor calculates a first number of images according to a preset algorithm to obtain a first blood flow image.
[0146] The preset algorithm refers to the blood flow algorithm that has not been subjected to convolution calculation in the related art. The blood flow image calculated according to the preset algorithm is used as the first blood flow image Angio GT(ground truth, abbreviated as GT).
[0147] In this embodiment, the calculation formula of the preset algorithm may be as follows:
[0148] Among them, Angio is the output blood flow image, C i is the complex amplitude image corresponding to the i-th image, Sigma is zero or a positive number, Sigma is determined according to the system noise, and M is the first quantity.
[0149] Since each scan position is repeatedly acquired, the target image usually has a high signal-to-noise ratio. Data with poor signal-to-noise ratio due to eye movements can be manually selected and discarded and not used as training data.
[0150] The blood flow image output by the preset algorithm can then be subjected to low-pass filtering and denoising processing to obtain a first blood flow image, thereby further improving the signal-to-noise ratio of the target result.
[0151] S230: The processor takes the first blood flow image as the target result and initializes the convolution kernel and weights.
[0152] The method of initializing the convolution kernel can be: assuming that the number of convolution kernels is n, set the central element of the first convolution kernel to 1 and the remaining elements to 0; set all elements of the second convolution kernel whose distance from the center is 1 to 1 / L, where L is the number of all non-zero elements and the remaining elements are 0; and so on.
[0153] Initialize weights Among them, W i is the weight corresponding to the i-th convolution kernel.
[0154] S240: The processor selects a second number of images from the first number of images as a second image set; wherein the second number is smaller than the first number.
[0155] S250: The processor calculates the images in the second image set using a blood flow image calculation method according to the initialized convolution kernel and weights to obtain a second blood flow image.
[0156] The calculation method may be: extracting all two adjacent B-scan images from the same set of data, and using the convolution-based blood flow image algorithm calculation method proposed in steps S120-S150 of Example 1 to obtain a second blood flow image.
[0157] S260: The processor calculates a residual between the second blood flow image and the target result.
[0158] S270: The processor accumulates the residuals to obtain a loss function of the model.
[0159] The calculation formula of the cumulative residual can be: Loss = ∑|angio-angio _GT |;
[0160] Wherein, angio is the second blood flow image calculated by the angio algorithm based on convolution proposed in steps S110-S150, angio _GT is the target image.
[0161] S280, the processor optimizes the model according to the loss function until a preset condition is met, and obtains an optimized model, wherein the optimized model includes an optimized convolution kernel and a weight corresponding to the optimized convolution kernel.
[0162] Optionally, the gradient descent method can be used to minimize the loss function to optimize the N convolution kernels K i and weight W i , and stored in the memory.
[0163] The model used for optimization can be a machine learning model, and the optimized convolution kernel can be used as the preset convolution kernel in the next blood flow image calculation method. That is, in the actual application of the blood flow image calculation method provided in step S130, the convolution kernel can be set based on experience or obtained by training the model. If it is obtained through model training, the processor obtains N convolution kernels K in the memory. i and weight W i Data, and then according to N convolution kernels K i and weight W i Steps S120 - S150 are executed to calculate a blood flow image.
[0164] Based on the above method, Figure 4 exemplifies a first blood flow image obtained at a certain scanning position after performing a convolution calculation on the image acquired using a preset algorithm. Figure 5 shows a second blood flow image obtained at the same acquisition position after performing a convolution calculation on the image acquired using the method provided in an embodiment of the present application. It can be seen that the method provided in an embodiment of the present application is beneficial for improving the signal-to-noise ratio.
[0165] Optionally, before the step of performing Fourier transform on the OCT image in step S120, the following steps may be further included:
[0166] The OCT images are subjected to dispersion correction processing to correct the image dispersion.
[0167] Dispersion correction can include a third-order polynomial correction method. This method uses a third-order polynomial fit to perform phase correction. The second- and third-order parameters used in this correction are typically obtained through offline system calibration. Since first-order dispersion correction corresponds to a simple translation of the Fourier-transformed image, it is generally not used. It should be noted that this embodiment does not limit the specific method of dispersion correction.
[0168] Optionally, after the step of performing Fourier transform on the OCT image to obtain a complex amplitude image in step S120, the following steps may be further included:
[0169] S121 : For each complex amplitude image, the processor calculates the absolute value of the signal corresponding to the complex amplitude image and uses it as the real amplitude image.
[0170] S122 : For each real amplitude image, the processor calculates the logarithm of the signal corresponding to the real amplitude image to obtain a first structural image.
[0171] S123: The processor selects a first structural image as a reference image, and determines the first structural images other than the reference image as images to be corrected.
[0172] S124: For each image to be corrected, the processor calculates the misalignment between the reference image and the image to be corrected.
[0173] S125 , the processor corrects the complex amplitude image corresponding to the image to be corrected according to all the misalignment amounts to obtain a corrected complex amplitude image.
[0174] In this embodiment, the absolute value Ai=|Ci| of the signal corresponding to the complex amplitude image Ci is calculated, and the logarithm is taken to obtain the first structural image; then, the first structural image is subjected to misalignment correction, and the complex amplitude image corresponding to the image to be corrected is corrected according to the calculated misalignment amount.
[0175] The process of obtaining the first structural image can be expressed as: S i =20×log 10 (A i )(i=1,…4); where S i represents the i-th OCT structural image corresponding to the i-th complex amplitude image.
[0176] In practical applications, the OCT structural image corresponding to the complex amplitude image obtained by Fourier transform of the first acquired image is usually selected as the reference image.
[0177] Afterwards, steps S130 - S150 are performed based on the corrected complex amplitude image to further improve the accuracy of data processing.
[0178] In a second aspect, the present application provides a blood flow image calculation device. As shown in FIG2 , the device includes: an image acquisition module 10 , an image transformation module 20 , a convolution calculation module 30 , a determination module 40 and a blood flow image calculation module 50 .
[0179] The image acquisition module 10 is configured to acquire a scan image set, where the scan image set includes at least two OCT images obtained by scanning a target position.
[0180] The image transformation module 20 is configured to perform Fourier transformation on each OCT image to obtain a complex amplitude image.
[0181] The convolution calculation module 30 is configured to perform convolution calculation on each convolution kernel and each complex amplitude image based on at least two preset convolution kernels to obtain a sub-image set corresponding to each convolution kernel;
[0182] The determination module 40 is configured to determine the first image set based on all sub-image sets.
[0183] The blood flow image calculation module 50 is configured to perform calculations on the images in the first image set to obtain a blood flow image.
[0184] The present application also provides an electronic device, as shown in Figure 3, the electronic device includes a memory 44 and a processor 41, the memory 44 stores a computer program, and the processor 41 executes the computer program to implement the method as described above. As shown in Figure 4, the electronic device also includes a bus 42 and a communication interface 43, wherein the processor 41, the communication interface 43 and the memory 44 are connected through the bus 42. The memory 44 may include a high-speed random access memory (RAM) and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage. The communication connection between the system network element and at least one other network element is realized through at least one communication interface 43 (which may be wired or wireless), and the Internet, wide area network, local area network, metropolitan area network, etc. can be used. Bus 42 can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, or an AMBA (Advanced Microcontroller Bus Architecture) bus. AMBA defines three types of buses, including an APB (Advanced Peripheral Bus) bus, an AHB (Advanced High-performance Bus) bus, and an AXI (Advanced eXtensible Interface) bus. Bus 42 can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, FIG4 shows only one bidirectional arrow, but this does not mean that there is only one bus or one type of bus.
[0185] The processor 41 may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by hardware integrated logic circuits in the processor 41 or by software instructions. The above-mentioned processor 41 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of the present application can be directly implemented as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in the memory 44 , and the processor 41 reads the information in the memory 44 and implements the method shown in FIG. 1 in conjunction with its hardware.
[0186] The present application also provides a computer-readable storage medium, in which a computer program is stored. The processor 41 executes the computer program to implement the method as described above. For specific implementation, please refer to the method embodiment, which will not be repeated here.
[0187] The present application also provides a computer program product, comprising a computer program, which implements the above method when executed by a processor.
[0188] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described systems and devices can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0189] In addition, in the description of the embodiments of this application, unless otherwise specified or limited, the terms "installed," "connected," and "connected" should be understood in a broad sense. For example, they can refer to fixed connections, detachable connections, or integral connections; they can refer to mechanical connections or electrical connections; they can refer to direct connections or indirect connections through an intermediate medium; and they can refer to internal connections between two components. Those skilled in the art will understand the specific meanings of the above terms in this application based on the specific circumstances.
[0190] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0191] In the description of this application, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings and are intended solely to facilitate the description of this application and simplify the description. They do not indicate or imply that the devices or components referred to must have a specific orientation, be constructed, or operate in a specific orientation. Therefore, they should not be construed as limitations on this application. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0192] Finally, it should be noted that the above embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The scope of protection of the present application is not limited thereto. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that any person skilled in the art who is familiar with the technical field can still modify the technical solutions described in the above embodiments within the technical scope disclosed in the present application, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not deviate from the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims. Industrial Applicability
[0193] By applying the technical solution of the present application, the amplitude and phase relationship between adjacent pixels is taken into account, the accuracy of the calculation results is improved, the signal-to-noise ratio of the blood flow image is fully optimized, and thus the accuracy of the blood flow image is improved.
Claims
1. A blood flow image calculation method, characterized in that: The method comprises: Acquire a scan image set, wherein the scan image set includes at least two OCT images obtained by scanning the target position; For each of the OCT images, Fourier transform the OCT image to obtain a complex amplitude image; Based on at least two preset convolution kernels, convolution calculation is performed on each of the convolution kernels and each of the complex amplitude images to obtain a sub-image set corresponding to each of the convolution kernels; Determine a first image set according to all of the sub-image sets; Calculation is performed on the images in the first image set to obtain a blood flow image.
2. The method according to claim 1, characterized in that The step of calculating the images in the first image set to obtain a blood flow image comprises: Based on a preset pairing rule, pair the images in the sub-image set corresponding to each convolution kernel to obtain an image pair; For each of the image pairs, perform decorrelation calculation on the image pair to obtain a first intermediate result corresponding to the image pair; Determine a first target result corresponding to each of the convolution kernels according to all the first intermediate results; A blood flow image is obtained by calculating based on all the first target results.
3. The method according to claim 2, characterized in that For each of the image pairs, the step of performing decorrelation calculation on the image pair comprises: Calculated according to the following formula: D (a,a+1,i) =||CK (a,i) |-|CK (a+1,i) || / (|CK (a,i) |+|CK (a+1,i) |+Sigma); Among them, D (a,a+1,i) is a first intermediate result obtained by decorrelation calculation based on an image pair formed by convolving the a-th complex amplitude image and the a+1-th complex amplitude image with the i-th convolution kernel; CK (a,i) is the complex image obtained by convolving the a-th complex amplitude image with the i-th convolution kernel, CK (a+1,i) It is the complex image obtained by convolving the a+1th complex amplitude image with the i-th convolution kernel. Sigma is zero or a positive number.
4. The method according to claim 2, characterized in that: For each of the image pairs, the step of performing decorrelation calculation on the image pair comprises: Calculated according to the following formula: D (a,a+1,i) =(|CK (a,i) |-|CK (a+1,i) |) 2 / (|CK (a,i) | 2 +|CK (a+1,i) | 2 +Sigma)。 5. The method according to claim 2, characterized in that: After the step of pairing the images in the sub-image set corresponding to each convolution kernel based on a preset pairing rule to obtain an image pair, the method further includes: For each of the image pairs, determining whether the absolute values of the first complex image and the second complex image in the image pair are both less than a first set threshold; If so, it is determined that the first intermediate result corresponding to the image pair is a preset value.
6. The method according to any one of claims 2 to 5, characterized in that: The step of determining the first target result corresponding to each of the convolution kernels according to all the first intermediate results includes: The first target result corresponding to each convolution kernel is determined by taking the average result or the median of all the first intermediate results corresponding to each convolution kernel.
7. The method according to any one of claims 2 to 6, characterized in that: The step of obtaining a blood flow image by calculating according to all the first target results includes: Get the weight corresponding to each convolution kernel; The blood flow image is calculated based on the weights corresponding to the convolution kernels and all the first target results.
8. The method according to claim 7, characterized in that The step of calculating the blood flow image according to the weights corresponding to the convolution kernels and all the first target results includes: The blood flow image is obtained by summing the product of the weight corresponding to each convolution kernel and the first target result corresponding to the convolution kernel.
9. The method according to claim 7, characterized in that: The step of calculating the blood flow image according to the weights corresponding to the convolution kernels and all the first target results includes: The blood flow image is calculated according to the following formula: Angio=Σ(D i ×W i )÷ΣW i ; Among them, Angio is the output blood flow image, D i is the first target result corresponding to the i-th convolution kernel, W i is the weight corresponding to the i-th convolution kernel.
10. The method according to any one of claims 2 to 6, characterized in that: The step of obtaining a blood flow image by calculating according to all the first target results includes: All the first target results are averaged, and the obtained average result is used as the blood flow image.
11. The method according to claim 7, characterized in that After the step of acquiring the scanned image set, the method further includes: The scanned image set is input into a preset model, and the blood flow image is output.
12. The method according to claim 11, characterized in that include: The training process of the model is as follows: Acquire a training sample, wherein the training sample includes a first number of images; Calculating a first number of the images according to a preset algorithm to obtain a first blood flow image; Taking the first blood flow image as the target result, and initializing the convolution kernel and weights; Selecting a second number of images from the first number of images as a second image set; wherein the second number is smaller than the first number; According to the initialized convolution kernel and the weight, the blood flow image calculation method is used to calculate the images in the second image set to obtain a second blood flow image; calculating a residual between the second blood flow image and the target result; Accumulating the residuals to obtain a loss function; The model is optimized according to the loss function until a preset condition is met to obtain the optimized model, wherein the optimized model includes an optimized convolution kernel and the weight corresponding to the optimized convolution kernel.
13. The method according to claim 12, characterized in that The step of calculating the first number of images according to a preset algorithm to obtain a first blood flow image comprises: The output blood flow image is calculated according to the following formula: Wherein, Angio is the output blood flow image, C i is the complex amplitude image corresponding to the i-th image, Sigma is zero or a positive number, Sigma is determined according to the system noise, and M is the first number; The output blood flow image is subjected to low-pass filtering and denoising to obtain the first blood flow image.
14. The method according to claim 12 or 13, characterized in that The steps to initialize the convolution kernel and weights include: Assume that the number of convolution kernels is n, set the central element of the first convolution kernel to 1, and the rest of the elements to 0; set all elements of the second convolution kernel whose distance from the center is 1 to 1 / L, L is the number of all non-zero elements, and the rest of the elements are 0; and so on; Initialize the weights to Among them, W i is the weight corresponding to the i-th convolution kernel.
15. The method according to any one of claims 1 to 14, characterized in that Before the step of performing Fourier transform on the OCT image, the method further includes: The OCT image is subjected to dispersion correction processing to correct the dispersion of the image.
16. The method according to any one of claims 1 to 15, characterized in that After the step of performing Fourier transform on the OCT image to obtain a complex amplitude image, the method further includes: For each of the complex amplitude images, calculating the absolute value of the signal corresponding to the complex amplitude image and using it as a real amplitude image; For each of the real amplitude images, calculating the logarithm of the signal corresponding to the real amplitude image to obtain a first structural image; Selecting one of the first structural images as a reference image, and determining the first structural images other than the reference image as images to be corrected; For each of the images to be corrected, calculating the amount of misalignment between the reference image and the image to be corrected; The complex amplitude image corresponding to the image to be corrected is corrected according to all the misalignment amounts to obtain a corrected complex amplitude image.
17. A blood flow image calculation device, characterized in that: The device comprises: An image acquisition module is configured to acquire a scan image set, wherein the scan image set includes at least two OCT images obtained by scanning a target position; An image transformation module is configured to perform Fourier transformation on each OCT image to obtain a complex amplitude image; A convolution calculation module is configured to perform convolution calculation on each of the convolution kernels and each of the complex amplitude images based on at least two preset convolution kernels to obtain a sub-image set corresponding to each of the convolution kernels; A determination module, configured to determine a first image set according to all of the sub-image sets; The blood flow image calculation module is configured to calculate the images in the first image set to obtain a blood flow image.
18. An electronic device, characterized in that: include: A memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the computer program to implement the method according to any one of claims 1 to 16.
19. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 16 is implemented.
20. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 16 is implemented.
Citation Information
Patent Citations
Method of imaging of in vivo retina haemodynamics and measuring of absolute flow velocity
CN105286779A
Target object identification method and device
CN109934813A
Motion noise compensation method based on OCT angiography technology
CN114748032A
Blood flow image calculation method and device and electronic equipment
CN117582198A