High-resolution image reconstruction acceleration methods, systems, media, devices and terminals
By optimizing the FDK algorithm through block reconstruction and CUDA acceleration, the problems of memory limitation and speed bottleneck in high-resolution image reconstruction are solved, achieving efficient image reconstruction and significantly improving reconstruction speed and memory utilization efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-20
- Publication Date
- 2026-04-03
AI Technical Summary
Existing technologies suffer from memory limitations and slow reconstruction speeds that cannot meet real-time requirements when reconstructing high-resolution images, especially in a standalone environment where efficient image reconstruction is difficult to achieve.
By dividing the 3D reconstructed image into blocks, optimizing the FDK algorithm and utilizing CUDA for acceleration, the data memory footprint is reduced and the reconstruction speed is improved. By adopting a block reconstruction and GPU acceleration method, combined with shared memory and global variable optimization, efficient image reconstruction is achieved.
While ensuring reconstruction quality, it significantly improves reconstruction speed, reduces data memory usage, and achieves real-time reconstruction of high-resolution images. The speed is more than 200 times faster than traditional CPU methods and more than 3 times faster than traditional GPU methods.
Smart Images

Figure CN116188679B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of CT image reconstruction technology, and particularly relates to a high-resolution image reconstruction acceleration method, system, medium, device and terminal. Background Technology
[0002] Currently, cone-beam computed tomography (CBCT) is an advanced imaging technology. Due to its fast data acquisition speed and high spatial resolution, CBCT is widely used in medical diagnosis, biological research, and 3D modeling of cultural relics. The FDK algorithm, an analytical reconstruction algorithm proposed by Feldkamp, Davis, and Kress in 1984, is often used as the standard reconstruction algorithm in cone-beam CT scanners due to its simplicity and high reconstruction efficiency. With the development of technology, the resolution of area array detectors in acquiring projection data has rapidly improved. While this has improved reconstruction quality, the massive amount of projection data has also brought challenges to reconstruction efficiency.
[0003] Currently, the acceleration of 3D reconstruction algorithms mainly relies on two aspects. One is algorithm optimization, which utilizes symmetry, recursion, or combines with other reconstruction algorithms to reduce the computational load and complexity during the reconstruction process. For example, Chinese patent CN111696166A introduces a preprocessing matrix based on the FDK algorithm in the 3D iterative reconstruction process, improving image reconstruction quality and speed, but the acceleration effect is not particularly ideal. The other aspect is hardware utilization. Graphics processors (GPUs) based on the CUDA architecture are widely used in image reconstruction due to their significant computational and programmable characteristics. Chinese patent CN102609978B constructs a CPU-GPU heterogeneous computing model that enables parallel subtasks through CPU and GPU collaboration. Chinese patent CN103310484B discloses a method for accelerating CT image reconstruction based on the CUDA architecture, achieving asynchronous parallel data processing. Both significantly improve the reconstruction speed of the FDK algorithm, but their reconstruction data size is only 512. 3 It has limitations when reconstructing higher resolution images; some scholars have implemented 1024 using distributed systems or clusters. 3 While capable of large-scale 3D image reconstruction, it is not suitable for standalone environments. When reconstructing high-resolution images, the projection data and reconstruction results cannot be loaded into memory at once, and the computational load is extremely large, making it impossible to meet real-time requirements. Therefore, memory limitations and reconstruction speed are the performance bottlenecks for high-resolution image reconstruction.
[0004] Based on the above analysis, the problems and shortcomings of the existing technology are as follows:
[0005] (1) The acceleration effect of existing 3D reconstruction algorithms based on algorithm optimization is not particularly ideal.
[0006] (2) Existing hardware-based 3D reconstruction algorithms typically process data of 512. 3 It has limitations when reconstructing high-resolution images.
[0007] (3) Existing methods for reconstructing high-resolution images are all implemented in distributed systems or cluster environments and are not suitable for single-machine environments.
[0008] (4) When reconstructing high-resolution images, the projection data and reconstruction results cannot be read into memory at once, and the amount of computation during the reconstruction process is very large, which makes the reconstruction speed unable to meet the real-time requirements. Summary of the Invention
[0009] To address the problems existing in the prior art, this invention provides a method, system, medium, device, and terminal for accelerating high-resolution image reconstruction, and particularly relates to a method, system, medium, device, and terminal for accelerating high-resolution image reconstruction based on the FDK algorithm.
[0010] The present invention is implemented as follows: a high-resolution image reconstruction acceleration method includes: dividing the three-dimensional reconstructed image; calculating the projection range of the reconstructed blocks; optimizing the FDK algorithm; loading the projection data into the video memory, using a filtering kernel to implement weighted sum filtering, and using a reconstruction kernel to implement back projection; saving the reconstruction results and determining whether all blocks have been reconstructed; if there are still blocks that have not been reconstructed, then returning to the reconstructed block projection range calculation step; if all blocks have been reconstructed, then obtaining the complete reconstructed image.
[0011] Furthermore, the high-resolution image reconstruction acceleration method includes the following steps:
[0012] Step 1: Divide the 3D reconstructed image horizontally into multiple blocks and calculate the projection range of each reconstructed block on the detector.
[0013] Step 2: Optimize the FDK algorithm based on the correlation between the reconstructed points;
[0014] Step 3: Load the projections of the reconstructed blocks at all angles into video memory, and use the CUDA-accelerated and optimized FDK algorithm to reconstruct all blocks in sequence.
[0015] Furthermore, the calculation of the projection range of each reconstructed block on the detector in step one includes: dividing the 3D object to be reconstructed horizontally into multiple blocks based on the maximum memory capacity, with each block only related to the projection within a small range on the detector; and reading the projection data within this range at all angles into memory to obtain the reconstructed block. When acquiring projection data, the ray source and the detector rotate simultaneously around a horizontal circular orbit, and the projection range of each reconstructed block on the detector is calculated only once. The projection range is determined by the intersection point where the ray source and the upper and lower boundary layers of the block pass through the detector; the area enclosed by the rows containing these two points is the desired projection range. The upper boundary row is r1, the lower boundary row is r2, and the projection range of the block is [r1, r2].
[0016] Furthermore, based on the positional relationship between the reconstructed block and the central layer of the object, three cases are identified: the reconstructed block is located above the central layer, contains the central layer, and is located below the central layer. When processing the actual scan data, the determined range is appropriately extended to both sides, with the projection range being [r1-Δr, r2+Δr], where Δr takes values in the range [5, 10].
[0017] Furthermore, the optimization of the FDK algorithm based on the correlation between reconstructed points in step two includes:
[0018] (1) The FDK algorithm includes a weighted step:
[0019]
[0020] In the formula, Dso is the distance from the source point to the rotation center, (u,v) are the detector plane coordinates, p(β,u,v) are the projection data at angle β, and p′(β,u,v) are the weighted projection data. The weighting factor is only related to the detector coordinates u and v, and the weighting factors for coordinates (-u,v) and (u,v) are the same; if the projection range is symmetric about the central layer z=0, the weighting factors for coordinates (-u,v), (u,v), (-u,-v), and (u,-v) are all the same and are calculated only once.
[0021] (2) The FDK algorithm backprojects the filtered projection data p″ to obtain the reconstructed objective function.
[0022]
[0023] in:
[0024]
[0025]
[0026]
[0027] In the formula, (x,y,z) are the coordinates of the reconstructed point. The calculation of intermediate parameters U(x,y,β) and u(x,y,β) is independent of the z-axis. The value of the horizontal interpolation coefficient s is determined by u. Reconstructed points with the same (x,y) have the same U, u, and s. When reconstructing the point (x,y,z), three adjacent points (x,y,z-Δz), (x,y,z-2Δz), and (x,y,z-3Δz) are reconstructed based on the correlation between adjacent slices, where Δz is the voxel size.
[0028] (3) The intersection points of the rays and the detector are the same for four points P1, P2, P3, and P4 in the single-layer image at rotation angles of β, β+π / 2, β+π, and β+3×π / 2, respectively. Additionally, there are four points P1', P2', P3', and P4' whose projection points on the detector have the same row index as the intersection points above when the rotation angles are π / 2-β, π-β, 3×π / 2-β, and 2π-β, respectively. Simultaneously, eight voxel points in the single-layer image are reconstructed. Combining step (2), three adjacent points of each point are also reconstructed simultaneously, achieving back-projection reconstruction of 32 voxels in one loop.
[0029] (4) The calculation of parameters U(x,y,β), u(x,y,β), and v(x,y,z,β) are all related to the sine and cosine values of β. By utilizing the recursion and induction formulas of trigonometric functions, the corresponding values for [90°,360°) are obtained using the sine and cosine values of [0°,90°). The sine and cosine values of the four projection angles are calculated only once, reducing the outer loop to 1 / 4 of the original. Each loop stores the four sets of sine and cosine values into a lookup table. During the back projection stage, the corresponding trigonometric function values of the angles are directly located in the lookup table.
[0030] Furthermore, step three, loading the projections of the reconstructed blocks at all angles into video memory and using the CUDA-accelerated and optimized FDK algorithm to reconstruct all blocks sequentially, includes: reading the projection data corresponding to the reconstructed blocks into device memory; designing two kernel functions: filtering and reconstruction; each thread in the filtering kernel is responsible for the weighting and filtering operations of the previous row of projection data from the detector; each thread in the backprojection kernel is responsible for the reconstruction of all voxels along a column of z-axis; finally, the reconstruction results are copied from the GPU back to the CPU, and all blocks are reconstructed sequentially. Simultaneously, a global variable array `__device__` is used to store the filtered intermediate data, eliminating the need to copy it back to the CPU and reducing the time latency caused by data transfer; the filtering function and sine / cosine function values are stored in shared memory to accelerate the reconstruction speed.
[0031] Another object of the present invention is to provide a high-resolution image reconstruction acceleration system applying the aforementioned high-resolution image reconstruction acceleration method, the high-resolution image reconstruction acceleration system comprising:
[0032] The projection range calculation module is used to horizontally divide the 3D reconstructed image into multiple blocks and calculate the projection range of each reconstructed block on the detector.
[0033] The FDK optimization module is used to optimize the FDK algorithm based on the correlation between reconstructed points;
[0034] The image reconstruction module loads the projections of the reconstruction blocks at all angles into video memory, utilizes the CUDA-accelerated and optimized FDK algorithm, and sequentially reconstructs all blocks.
[0035] Another object of the present invention is to provide a computer device including a memory and a processor, the memory storing a computer program, which, when executed by the processor, causes the processor to perform the steps of the high-resolution image reconstruction acceleration method.
[0036] Another object of the present invention is to provide a computer-readable storage medium storing a computer program, which, when executed by a processor, causes the processor to perform the steps of the high-resolution image reconstruction acceleration method.
[0037] Another object of the present invention is to provide an information data processing terminal for implementing the aforementioned high-resolution image reconstruction acceleration system.
[0038] Based on the above technical solutions and the technical problems solved, the advantages and positive effects of the technical solution to be protected by this invention are as follows:
[0039] First, addressing the technical problems existing in the prior art and the difficulty of solving them, this paper closely analyzes, in conjunction with the technical solution to be protected by this invention and the results and data obtained during the research and development process, how the technical solution of this invention solves the technical problems, and the inventive technical effects brought about by solving these problems. The specific description is as follows:
[0040] Considering that only a small amount of projection is related to the reconstructed volume, this invention designs a high-resolution image reconstruction acceleration method based on the FDK algorithm. By reconstructing in blocks, the data memory usage is reduced, and the reconstruction speed is improved by optimizing the FDK algorithm and accelerating with GPU. This method has practical significance and good application prospects.
[0041] Compared with the prior art, the advantages and beneficial effects of the present invention are as follows:
[0042] (1) This invention uses block reconstruction to horizontally divide a three-dimensional image into multiple blocks and calculates the projection range of each block on the detector; it reconstructs a 2048×2048 resolution image from the projection. 3 The memory usage of the large-scale data, projection, and reconstruction results is reduced by more than 20 times compared to traditional methods.
[0043] (2) This invention optimizes the FDK algorithm by utilizing the correlation between reconstruction points, thereby reducing the computational load and enabling the simultaneous reconstruction of 32 voxel points within one loop, thus reducing the number of loops.
[0044] (3) This invention uses GPU and CUDA programming models to accelerate the optimized FDK algorithm, and further optimizes it using shared memory and global variables; the accelerated optimized algorithm reconstructs 2048 3 For large-scale images, while ensuring reconstruction quality, the reconstruction speed is more than 200 times faster than traditional CPU methods and more than 3 times faster than traditional GPU methods.
[0045] Second, considering the technical solution as a whole or from a product perspective, the technical effects and advantages of the technical solution to be protected by this invention are specifically described as follows:
[0046] This invention provides a method for accelerating high-resolution image reconstruction based on the FDK algorithm. It reduces data memory usage by calculating the projection range of the reconstructed blocks and speeds up reconstruction through FDK algorithm optimization and GPU integration. Experimental results show that this invention can reconstruct 2048 high-resolution images. 3 For large-scale images, this invention improves reconstruction speed by more than 200 times compared to traditional CPU methods and more than 3 times compared to traditional GPU methods while maintaining reconstruction quality. Simultaneously, it effectively reduces data memory usage during the reconstruction process.
[0047] Third, as supplementary evidence of the inventive step of the claims of this invention, it is also reflected in the following important aspects:
[0048] (1) The expected benefits and commercial value of the technical solution of this invention after transformation are as follows: while ensuring reconstruction quality, the reconstruction speed is increased by more than 200 times compared with the traditional CPU method. In the future, this solution can be applied to fields such as medical diagnosis and 3D modeling of cultural relics, and has very good application prospects and practical significance.
[0049] (2) The technical solution of this invention fills a technological gap in the domestic and international industry: memory limitations and reconstruction speed are the performance bottlenecks of high-resolution image reconstruction. Existing methods for reconstructing high-resolution images are either implemented in distributed systems and clusters, which are not suitable for single-machine environments; or each reconstruction only reads the entire projection at a partial angle into memory, requiring multiple loops and copying of reconstruction results, which cannot meet the real-time requirements. This solution reduces data memory usage and improves reconstruction speed by reconstructing in blocks and reading the partial projection at all angles each time. Attached Figure Description
[0050] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0051] Figure 1 This is a flowchart of the high-resolution image reconstruction acceleration method provided in the embodiments of the present invention;
[0052] Figure 2 This is a schematic diagram of the high-resolution image reconstruction acceleration method provided in the embodiments of the present invention;
[0053] Figure 3A This is a schematic diagram of the reconstructed blocks and their projection ranges at different locations provided in the embodiments of the present invention. Figure 1 ;
[0054] Figure 3B This is a schematic diagram of the reconstructed blocks and their projection ranges at different locations provided in the embodiments of the present invention. Figure 2 ;
[0055] Figure 3C This is a schematic diagram (3) of the reconstructed blocks and their projection ranges at different locations provided in an embodiment of the present invention;
[0056] Figure 4 This is a schematic diagram of the positional relationship between correlated reconstructed points within a single-layer image provided in an embodiment of the present invention;
[0057] Figure 5 This is a schematic diagram of the task decomposition scheme in the reconstruction kernel provided in an embodiment of the present invention;
[0058] Figure 6A These are the reconstructed images of the three-dimensional Sheep-Logan model of the slice at z=0 provided in the embodiments of the present invention; wherein, the first column is the original model, the second column is the reconstructed image of the traditional CPU method, and the third column is the reconstructed image of the high-resolution image reconstruction acceleration method of the present invention;
[0059] Figure 6B These are the reconstructed images of the three-dimensional Sheep-Logan model of the slice at y=0 provided in the embodiments of the present invention; wherein, the first column is the original model, the second column is the reconstructed image of the traditional CPU method, and the third column is the reconstructed image of the high-resolution image reconstruction acceleration method of the present invention;
[0060] Figure 6CThese are the reconstructed images of the three-dimensional Sheep-Logan model of the slice at x=0 provided in the embodiments of the present invention; wherein, the first column is the original model, the second column is the reconstructed image of the traditional CPU method, and the third column is the reconstructed image of the high-resolution image reconstruction acceleration method of the present invention;
[0061] Figure 7 This is the corresponding embodiment provided by the present invention. Figure 6A The data profile in row 1024;
[0062] Figure 8 This is provided by the embodiments of the present invention. Figure 7 Enlarged view within the black rectangle. Detailed Implementation
[0063] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0064] To address the problems existing in the prior art, the present invention provides a method, system, medium, device, and terminal for accelerating high-resolution image reconstruction. The present invention will be described in detail below with reference to the accompanying drawings.
[0065] I. Explanatory and Illustrative Embodiments. To enable those skilled in the art to fully understand how the present invention is specifically implemented, this section provides an explanatory and illustrative description of the embodiments described in the claims.
[0066] like Figure 1 As shown, the high-resolution image reconstruction acceleration method provided in this embodiment of the invention includes the following steps:
[0067] S101, Divide the 3D reconstructed image and calculate the projection range of the reconstructed block;
[0068] S102, optimizes the FDK algorithm by utilizing the correlation between reconstructed points;
[0069] S103 loads the projection data into the video memory, uses the filtering kernel to perform weighted summation and filtering, and uses the reconstruction kernel to perform back projection.
[0070] S104, save the reconstruction results and determine whether all blocks have been reconstructed; if there are still blocks that have not been reconstructed, return to the reconstructed block projection range calculation step; if all blocks have been reconstructed, obtain all reconstructed images.
[0071] As a preferred embodiment, such as Figure 2 As shown, the high-resolution image reconstruction acceleration method provided in this embodiment of the invention specifically includes the following steps:
[0072] (1) Divide the three-dimensional reconstructed image horizontally into multiple blocks and calculate the projection range of each block on the detector;
[0073] (2) Optimize the FDK algorithm based on the correlation between the reconstructed points;
[0074] (3) Load the projection data corresponding to the reconstructed block into the video memory, use the CUDA-accelerated and optimized FDK algorithm, and reconstruct all blocks in sequence.
[0075] The method for calculating the projection range of each reconstructed block on the detector in step (1) provided in this embodiment of the invention includes:
[0076] Based on the maximum memory capacity, the 3D object to be reconstructed is horizontally divided into multiple blocks. Each block is only related to a small projection range on the detector. By reading the projection data within this range at all angles into memory, a block can be reconstructed. When acquiring projection data, the ray source and the detector rotate simultaneously around a horizontal circular orbit. The projection range of each reconstructed block on the detector is calculated only once. The projection range is determined by the intersection point where the ray source and the upper and lower boundary layers of the block pass through the detector. The area enclosed by the rows containing these two points is the desired projection range. The upper boundary row is r1, the lower boundary row is r2, and the projection range of the block is [r1, r2].
[0077] The specific calculation is divided into three cases based on the positional relationship between the reconstructed block and the central layer of the object: the reconstructed block is above the central layer, contains the central layer, and is below the central layer. When processing actual scan data, the instrument or scanning process may introduce errors into the calculation of the projection range. The determined range is appropriately extended to both sides, and the projection range is [r1-Δr, r2+Δr], where Δr takes values in the range [5, 10].
[0078] The specific optimization steps of the FDK algorithm in step (2) provided in this embodiment of the invention are as follows:
[0079] (2.1) The FDK algorithm includes a weighted step:
[0080]
[0081] Where Dso is the distance from the source point to the rotation center, (u,v) are the detector plane coordinates, p(β,u,v) are the projected data at the projection angle β, and p′(β,u,v) are the weighted projected data. The weighting factors are only related to the detector coordinates u and v, and the weighting factors for coordinates (-u,v) and (u,v) are the same; if the projection range is symmetric about the central layer z=0, the weighting factors for coordinates (-u,v), (u,v), (-u,-v), and (u,-v) are all the same and are calculated only once.
[0082] (2.2) The FDK algorithm backprojects the filtered projection data p″ to obtain the reconstructed objective function.
[0083]
[0084] in:
[0085]
[0086]
[0087]
[0088] Where (x,y,z) are the coordinates of the reconstructed point. The calculation of intermediate parameters U(x,y,β) and u(x,y,β) is independent of the z-axis, and the value of the horizontal interpolation coefficient s is determined by u. Reconstructed points with the same (x,y) have the same U, u, and s. When reconstructing the point (x,y,z), its three neighboring points (x,y,z-Δz), (x,y,z-2Δz), and (x,y,z-3Δz) are reconstructed based on the correlation between adjacent slices, where Δz is the voxel size.
[0089] (2.3) The intersection points of the rays and the detector are the same for four points P1, P2, P3, and P4 in the single-layer image at rotation angles of β, β+π / 2, β+π, and β+3×π / 2, respectively. Additionally, the projection points of four other points P1', P2', P3', and P4' on the detector have the same row index as the intersection points mentioned above at rotation angles of π / 2-β, π-β, 3×π / 2-β, and 2π-β, respectively. These eight voxel points in the single-layer image are reconstructed simultaneously. Combining this with step (2.2), the three adjacent points of each point are also reconstructed simultaneously, enabling the back-projection reconstruction of 32 voxels in one loop.
[0090] (2.4) The calculation of parameters U(x,y,β), u(x,y,β), and v(x,y,z,β) are all related to the sine and cosine values of β. Using the recursive nature and induction formulas of trigonometric functions, the corresponding values for [90°,360°) are obtained from the sine and cosine values of [0°,90°). The sine and cosine values of the four projection angles are calculated only once, reducing the outer loop to 1 / 4 of its original size. Each loop stores the four sets of sine and cosine values into a lookup table. During the back-projection stage, the trigonometric function values of the corresponding angles can be obtained directly by locating them in the lookup table.
[0091] The specific acceleration process of CUDA in step (3) provided in this embodiment of the invention is as follows:
[0092] The projected data corresponding to the reconstructed blocks is read into device memory. Two kernel functions, filtering and reconstruction, are designed. Each thread in the filtering kernel is responsible for the weighting and filtering operations of the previous row of projected data from the detector. Each thread in the backprojection kernel is responsible for the reconstruction of all voxels along a column of the z-axis. Finally, the reconstruction results are copied from the GPU back to the CPU, and all blocks are reconstructed sequentially. Simultaneously, a global variable array `__device__` is used to store the filtered intermediate data, eliminating the need to copy it back to the CPU and reducing the time latency caused by data transfer. The filtering function and sine / cosine function values are stored in shared memory to accelerate the reconstruction speed.
[0093] The high-resolution image reconstruction acceleration system provided in this embodiment of the invention includes:
[0094] The projection range calculation module is used to horizontally divide the 3D reconstructed image into multiple blocks and calculate the projection range of each reconstructed block on the detector.
[0095] The FDK optimization module is used to optimize the FDK algorithm based on the correlation between reconstructed points;
[0096] The image reconstruction module loads the projections of the reconstruction blocks at all angles into video memory, utilizes the CUDA-accelerated and optimized FDK algorithm, and sequentially reconstructs all blocks.
[0097] II. Application Examples. To demonstrate the inventiveness and technical value of the technical solution of this invention, this section provides application examples of the technical solution of the claims on specific products or related technologies.
[0098] The experimental environment for all examples was a 64-bit Windows 10 operating system with 32GB of RAM; the GPU was an NVIDIA GeForce RTX 3070 with 8GB of video memory; and the development platform was Microsoft Visual Studio 2015 with CUDA version 10.1.
[0099] Example 1: Performed on a simulated cone-beam CT system, the distance from the source point to the rotation center and the distance from the rotation center to the detector are both 780mm. The projection data is a three-dimensional Sheep-Logan model simulating the human head, containing 720 pixels with a scale of 1024. 2 The pixel size is 1.6384×10 -2 mm 2 The projected image, the reconstructed image size is 1024 3 The voxel size is 2.62144 × 10 -4 mm 3 .
[0100] Example 2: Performed on a simulated cone-beam CT system, the distance from the source point to the rotation center and the distance from the rotation center to the detector are both 780mm. The projection data is a three-dimensional Sheep-Logan model simulating the human head, containing 360 pixels with a scale of 2048. 2 The pixel size is 4.096×10 -3 mm 2 The projected image, the reconstructed image size is 2048 3 The voxel size is 3.2768 × 10 -5 mm 3 .
[0101] Example 3: Using real scan data, the distance from the X-ray source to the rotation center is 320mm, the distance from the rotation center to the detector is 280mm, and the projected data is the scan data of the ashtray, containing 1440 pixels with a scale of 2048. 2 The pixel size is 0.04mm. 2 The projected image, the reconstructed image size is 2048 3 The voxel size is 1.2136 × 10⁻⁶. -3 mm 3 .
[0102] Tests showed that Examples 1-3 were successfully reconstructed using the technical solution of this invention. While ensuring reconstruction quality, the reconstruction speed was increased by 180-230 times compared to traditional CPU methods, and computer memory usage was also effectively reduced.
[0103] III. Evidence of the Relevant Effects of the Embodiments. The embodiments of the present invention have achieved some positive effects during research and development or use, and indeed possess significant advantages compared to existing technologies. The following description, in conjunction with data, charts, and other materials from the experimental process, illustrates these advantages.
[0104] The high-resolution image reconstruction acceleration method based on the FDK algorithm provided in this embodiment of the invention specifically includes the following steps:
[0105] (1) Calculate the projection range of each reconstructed block on the detector. The range of each block is determined by the intersection of the X-ray source and the upper and lower boundary layers of the block, which pass through the detector. The area enclosed by the rows containing the two points is the projection range. The specific calculation is divided into three cases according to the positional relationship between the reconstructed block and the center layer of the object: the reconstructed block is above the center layer, contains the center layer, and is below the center layer, as shown in Figure 3, where r1 is the upper boundary row and r2 is the lower boundary row. When processing actual scanning data, the instrument or scanning process may introduce errors into the calculation of the projection range. In this case, the determined range is extended appropriately to both sides, and the projection range is [r1-Δr, r2+Δr], where Δr takes values in the range of [5, 10].
[0106] (2) Optimize the FDK algorithm, which includes the following steps:
[0107] (2.1) In the weighting step of the FDK algorithm, the weight factor is only related to the detector coordinates u and v. The weight factors of coordinates (-u,v) and (u,v) are the same, and the number of iterations is reduced by half. If the projection range is symmetric about the central layer z=0, the weight factors of coordinates (-u,v), (u,v), (-u,-v) and (u,-v) are the same, and the calculation is only performed once.
[0108] (2.2) In the back projection step of the FDK algorithm, the calculation of U(x,y,β) and u(x,y,β) is independent of the z-axis, and the value of the horizontal interpolation coefficient s is determined by u. Reconstructed points with the same (x,y) coordinates have the same U, u, and s. When reconstructing the point (x,y,z), its neighboring points (x,y,z-Δz), (x,y,z-2Δz), and (x,y,z-3Δz) are reconstructed based on the correlation between adjacent slices, where Δz is the voxel size;
[0109] (2.3) The intersection points of the rays and the detector at four points P1, P2, P3, and P4 in the single-layer image are the same at rotation angles of β, β+π / 2, β+π, and β+3×π / 2, respectively. Simultaneously, at four other points P1', P2', P3', and P4', at rotation angles of π / 2-β, π-β, 3×π / 2-β, and 2π-β, respectively, the projection points on the detector have the same row index as the intersection points above. The positional relationships of these eight voxels in the reconstructed single-layer image are as follows: Figure 4 As shown. Combining step (2.2), the three neighboring points of each point are reconstructed simultaneously, achieving back-projection reconstruction of 32 voxels in one loop.
[0110] (2.4) The calculations of U(x,y,β), u(x,y,β), and v(x,y,z,β) are all related to the sine and cosine values of β. Using the recursion and induction formulas of trigonometric functions, the corresponding values for [90°, 360°) are obtained from the sine and cosine values of [0°, 90°). The conversion of results within different angle ranges only requires modifying one sign. The sine and cosine values of the four projection angles are calculated only once, reducing the outer loop to 1 / 4 of its original size. Each loop stores four sets of values in an array, and the corresponding results can be obtained directly by locating them in the array during the back-projection stage.
[0111] (3) CUDA-accelerated and optimized FDK algorithm:
[0112] The reconstruction task is evenly distributed among the threads, with separate filtering and reconstruction kernel functions designed for each thread. Within the filtering kernel, each thread is responsible for the weighting and filtering operations on the previous row of projection data from the detector. The filtering function is stored in a shared array to reduce data latency caused by accessing global memory; the filtered projection data is stored in a global array, eliminating the need to copy it back to the CPU.
[0113] Each thread in the reconstruction kernel is responsible for the reconstruction of all voxels along a column of the z-axis. The specific task decomposition scheme is as follows: Figure 5 As shown, a loop reconstructs 32 voxels, while storing trigonometric function values in shared memory for further optimization. After the kernel function finishes execution, the reconstruction results are copied to the CPU array and the next reconstruction block is processed until the 3D image reconstruction is complete.
[0114] The experiments of Examples 1 and 2 were conducted according to the method proposed in this invention:
[0115] Table 1 shows the memory usage of projection data and reconstructed images when the block reconstruction method of this invention and the traditional method are used in Examples 1 and 2, respectively. It can be seen that the method of this invention effectively reduces the computer memory usage.
[0116] Table 1 Comparison of memory usage between the traditional method and the method of this invention (unit: G)
[0117]
[0118] Table 2 shows the running times of the three reconstruction methods. It can be seen that in Example 2, the running time of the method of the present invention is 2268.2 s, which is about 205.8 times faster than the traditional CPU method and about 3.2 times faster than the traditional GPU method, demonstrating a very significant acceleration effect. In Example 1, the method of the present invention is about 180.3 times faster than the traditional CPU method and 2.6 times faster than the traditional GPU method, respectively. This indicates that as the reconstruction scale increases, the acceleration effect of the method of the present invention will become increasingly better.
[0119] Table 2 shows the runtime (in seconds) of the three test examples.
[0120]
[0121] The reconstruction results are slice images of the xoy, xoz, and yoz planes. The central layers of the three planes in Example 2 are selected for comparison with the original model. As shown in Figure 6, there is no visual difference between the reconstruction results and the original model. Figure 7 A slice image of the central layer of the XY plane was selected. Horizontal center row pixels were plotted on the simulation model and the images reconstructed by the two methods described above. It can be seen that the results of the two reconstruction methods are a perfect fit. (From local magnification...) Figure 8 As can be seen, the reconstruction result is very close to the original model.
[0122] To more objectively verify the accuracy of the experimental results, normalized mean square distance (NRMS) and signal-to-noise ratio (PSNR) were used for numerical analysis. Table 3 presents the experimental results, showing that the proposed method maintains the same accuracy as traditional FDK algorithms based on CPU and GPU.
[0123] Table 3 Comparison of errors among the three methods
[0124] Error Criterion Traditional CPU Traditional GPU Method of the present invention NRMS 0.143822 0.143822 0.143822 PSNR 70.7595 70.7595 70.7595
[0125] It should be noted that embodiments of the present invention can be implemented in hardware, software, or a combination of both. The hardware portion can be implemented using dedicated logic; the software portion can be stored in memory and executed by a suitable instruction execution system, such as a microprocessor or dedicated-design hardware. Those skilled in the art will understand that the above-described devices and methods can be implemented using computer-executable instructions and / or included in processor control code, for example, such code provided on a carrier medium such as a disk, CD, or DVD-ROM, a programmable memory such as read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The devices and modules of the present invention can be implemented by hardware circuitry such as very large-scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field-programmable gate arrays, programmable logic devices, etc., or by software executed by various types of processors, or by a combination of the above-described hardware circuitry and software, such as firmware.
[0126] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any modifications, equivalent substitutions, and improvements made by those skilled in the art within the scope of the technology disclosed in the present invention, and within the spirit and principles of the present invention, should be covered within the scope of protection of the present invention.
Claims
1. A method for accelerating high-resolution image reconstruction, characterized in that, The high-resolution image reconstruction acceleration method includes: dividing the 3D reconstructed image; calculating the projection range of the reconstructed blocks; optimizing the FDK algorithm based on the correlation between reconstructed points; loading the projection data into the video memory, using a filtering kernel to implement weighted sum filtering, and using a reconstruction kernel to implement back projection; saving the reconstruction results and determining whether all blocks have been reconstructed; if there are still blocks that have not been reconstructed, returning to the reconstructed block projection range calculation step; if all blocks have been reconstructed, obtaining the entire reconstructed image. High-resolution image reconstruction acceleration methods include the following steps: Step 1: Divide the 3D reconstructed image horizontally into multiple blocks and calculate the projection range of each reconstructed block on the detector. Step 2: Optimize the FDK algorithm based on the correlation between the reconstructed points; Step 3: Load the projections of the reconstructed blocks at all angles into video memory, and use the CUDA-accelerated and optimized FDK algorithm to reconstruct all blocks in sequence; Step three involves loading the projections of the reconstructed blocks at all angles into video memory, and using the CUDA-accelerated and optimized FDK algorithm to reconstruct all blocks sequentially. This includes: reading the projection data corresponding to the reconstructed blocks into device memory; designing two kernel functions: in the filtering kernel, each thread is responsible for the weighted summation and filtering of the previous row of projection data from the detector; and in the backprojection kernel, each thread is responsible for one column. Reconstruction of all voxels along the axis; finally, copying the reconstruction results from the GPU back to the CPU and reconstructing all blocks sequentially; simultaneously, using The global variable array stores the intermediate data after filtering, and stores the values of the filtering function and the sine and cosine functions in the shared memory.
2. The high-resolution image reconstruction acceleration method as described in claim 1, characterized in that, Step one involves calculating the projection range of each reconstructed block on the detector, which includes: dividing the 3D object to be reconstructed horizontally into multiple blocks based on the maximum memory capacity, with each block only related to a small projection range on the detector; reading the projection data within the range at all angles into memory to obtain the reconstructed block; when acquiring projection data, the ray source and the detector rotate simultaneously around a horizontal circular orbit, and the projection range of each reconstructed block on the detector is calculated only once; the projection range is determined by the intersection point where the ray source and the upper and lower boundary layers of the block are connected and pass through the detector, and the area enclosed by the row containing the two points is the desired projection range.
3. The high-resolution image reconstruction acceleration method as described in claim 2, characterized in that, Projection range calculation method: Based on the positional relationship between the reconstructed block and the object's central layer, there are three calculation cases: the reconstructed block is above the central layer, contains the central layer, and is below the central layer; upper boundary behavior. Lower boundary behavior The projection range of the block is ; When processing actual scan data, the defined range is appropriately extended to both sides, and the projected range is... The range of values for ∆r is: .
4. The high-resolution image reconstruction acceleration method as described in claim 1, characterized in that, Step two, optimizing the FDK algorithm based on the correlation between reconstructed points, includes: (1) The FDK algorithm includes a weighted step: ; In the formula, The distance from the source point to the center of rotation. For the detector's plane coordinates, for Projection data at the angle, This is the weighted projection data; the weighting factor is only related to the detector coordinates. , Relevant, coordinates and The weighting factors are the same; if the projection range is about the central layer Symmetry, coordinates , , and The weighting factors are all the same, and the calculation is performed only once; (2) The FDK algorithm for the filtered projection data The objective function for reconstruction is obtained by back projection. ; ; in: ; ; ; in, For reconstructing point coordinates, intermediate parameters and Calculation and Irrelevant, horizontal interpolation coefficients The value is determined by The decision exists in the same way. Reconstruction point , and All are the same; at the reconstruction point At that time, neighboring points are reconstructed based on the correlation between adjacent slices. , and ,in Voxel size; (3) Four points in a single-layer image , , , In respectively , , , At the rotation angle, the intersection point of the ray and the detector is the same; there are also four other points. , , , At rotation angles of , , and At that time, the row index of the projection point on the detector is the same as that of the intersection point above, and the 8 voxel points in the single-layer image are reconstructed at the same time; combined with step (2), the 3 adjacent points of each point are reconstructed at the same time, and the back projection reconstruction of 32 voxels is achieved in one loop; (4) , and The calculations are all related to The values of sine and cosine are related, and can be derived from the recursiveness and reduction formulas of trigonometric functions, using... The sine and cosine values are The corresponding values, the sine and cosine values of the four projection angles are calculated only once, and the outer loop is reduced to the original value. Each loop stores four sets of sine and cosine values into a lookup table. During the back projection stage, the corresponding trigonometric function values are directly located in the lookup table.
5. A high-resolution image reconstruction acceleration system according to any one of claims 1 to 4, characterized in that, High-resolution image reconstruction acceleration systems include: The projection range calculation module is used to horizontally divide the 3D reconstructed image into multiple blocks and calculate the projection range of each reconstructed block on the detector. The FDK optimization module is used to optimize the FDK algorithm based on the correlation between reconstructed points; The image reconstruction module loads the projections of the reconstruction blocks at all angles into video memory, utilizes the CUDA-accelerated and optimized FDK algorithm, and sequentially reconstructs all blocks.
6. A computer device, characterized in that, The computer device includes a memory and a processor. The memory stores a computer program, which, when executed by the processor, causes the processor to perform the steps of the high-resolution image reconstruction acceleration method as described in any one of claims 1 to 4.
7. A computer-readable storage medium storing a computer program, which, when executed by a processor, causes the processor to perform the steps of the high-resolution image reconstruction acceleration method as described in any one of claims 1 to 4.
8. An information data processing terminal, characterized in that, The information data processing terminal is used to implement the high-resolution image reconstruction acceleration system as described in claim 5.
Citation Information
Patent Citations
Method for accelerating cone-beam CT (computerized tomography) image reconstruction by using GPU (graphics processing unit) based on CUDA (compute unified device architecture) architecture
CN102609978B
A Method of Accelerating CT Image Reconstruction Based on CUDA Architecture
CN103310484B
Circumferential cone beam CT rapid iterative reconstruction method based on FDK type preprocessing matrix
CN111696166A