Scoliosis detection method and system
Through CT image processing and point cloud analysis, it solves the problems of high subjectivity and inability to reflect three-dimensional deformity in the existing X-ray Cobb angle measurement technology in scoliosis assessment, achieving more accurate and objective scoliosis detection.
Patent Information
- Application Number
- CN202411296921.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-14
- Publication Date
- 2025-01-24
AI Technical Summary
The existing X-ray Cobb angle measurement technology has problems such as high subjectivity in scoliosis assessment, large differences between observers, influenced by shooting conditions, and inability to fully reflect the three-dimensional deformity of the spine.
By obtaining CT images, pre -processing and vertebral segmentation, converting into point cloud maps, and performing point cloud standards, extracting point sets of the upper and lower planes of the vertebral body of the target spine, and testing the degree of side curvature.
It has reduced the impact of human factors on the measurement results, improved the objectivity and consistency of measurement, and can more accurately reflect the three -dimensional form and side bending of the spine.
Smart Images

Figure CN119359793A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of medical imaging technology, and in particular to a scoliosis detection method and system. Background Art
[0002] Scoliosis is a common bone disease characterized by the spinal column bending away from the midline in the coronal plane, often accompanied by vertebral rotation and kyphotic or lordotic changes in the sagittal plane. In healthy people, the spine should be straight when viewed from the front, but scoliosis causes the spine to have an 'S' or 'C' shaped curve. The disease can occur at any age, especially in adolescence. Its causes are complex and may be caused by multiple factors such as congenital abnormalities of the spine, neuromuscular diseases, improper fracture healing, posture problems or muscle imbalance. In addition to affecting appearance, scoliosis may also cause back pain, difficulty breathing and other health problems in severe cases, affecting the patient's quality of life.
[0003] There are two main methods for diagnosing scoliosis: physical testing and imaging testing. The physical testing method relies on direct observation or contact with the back of the human body, such as visual inspection, Adams flexion test, and scoliosis ruler measurement to preliminarily determine the presence of scoliosis. Due to the limitations of physical methods, they are more often used for preliminary screening. For patients with positive screening, further diagnosis is usually required through X-ray images. The imaging detection method uses the patient's X-ray image to manually measure and obtain the angle between different vertebrae, namely the Cobb angle. It was proposed by American orthopedic surgeon John Robert Cobb in 1948 and is still one of the standard methods for evaluating scoliosis.
[0004] The measurement of Cobb angle in X-ray images is subjective, and the selection of upper and lower lamina of different vertebrae may result in different angle measurement results. In addition, different doctors may obtain different Cobb angles when measuring the same X-ray image. This difference between observers leads to inconsistent diagnosis and treatment decisions. In addition, the measurement method relies on two-dimensional X-ray images, and the shooting position of the X-ray film and the patient's posture will also affect the measurement results of the Cobb angle. Scoliosis is actually a three-dimensional spinal deformity. The Cobb angle measurement method based on X-ray images cannot fully reflect the three-dimensional curvature and rotation of the spine, especially in complex spinal deformities.
[0005] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0006] The embodiments of the present application provide a scoliosis detection method and system to at least solve the technical problems of the existing X-ray image Cobb angle measurement technology in scoliosis assessment, which is highly subjective, has large differences between observers, is affected by shooting conditions, and cannot fully reflect the three-dimensional deformity of the spine.
[0007] According to one aspect of an embodiment of the present application, a method for detecting scoliosis is provided, comprising: acquiring a CT image and preprocessing the CT image; wherein the CT image comprises a first CT image and a second CT image, the first CT image being a CT image corresponding to a standard spine, and the second CT image being a CT image corresponding to a target spine for which the degree of scoliosis is to be detected; performing vertebral segmentation on the preprocessed CT image, and converting the segmentation map of each vertebra into a corresponding point cloud map to create a point cloud set; wherein the point cloud set comprises a first point cloud set and a second point cloud set, the first point cloud set being the The point cloud set corresponds to the standard spine, and the second point cloud set is the point cloud set corresponding to the target spine; the first point cloud set is registered with the second point cloud set; the point set of the upper and lower planes of each vertebra of the standard spine is extracted from the first point cloud set, and according to the point set of the upper and lower planes of each vertebra of the standard spine, the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after registration is obtained to obtain the point set of the upper and lower planes of each vertebra of the target spine; according to the point set of the upper and lower planes of each vertebra of the target spine, the scoliosis degree of the target spine is detected in different directions.
[0008] Optionally, vertebral segmentation is performed on the preprocessed CT image, including: inputting the preprocessed CT image into a 3D U-Net model, and the 3D U-Net model outputs a segmentation map of each vertebra; wherein the 3D U-Net model includes an encoder and a decoder, the encoder is used to extract feature data of the image layer by layer, and pass the features to the decoder through a jump connection, the decoder is used to restore the spatial resolution of the image layer by layer, and output a segmentation map with the same size as the input image.
[0009] Optionally, converting the segmentation map of each vertebra into a corresponding point cloud map includes: converting the segmentation map of each vertebra into the corresponding point cloud map by meshing the point cloud.
[0010] Optionally, registering the first point cloud set with the second point cloud set includes: registering the first point cloud set with the second point cloud set using an iterative closest point method, and aligning the spatial coordinate system of the standard spine to the spatial coordinate system of the target spine.
[0011] Optionally, the first point cloud set and the second point cloud set are registered using an iterative nearest point method to align the spatial coordinate system of the standard spine to the spatial coordinate system of the target spine, including: initializing the transformation matrix to the unit matrix; in each iteration, using the current transformation matrix to transform the first point cloud set, and finding the nearest point in the second point cloud set for each transformed point; calculating the center of mass of the first point cloud set and the nearest point set in the second point cloud set, centering the point cloud, calculating the covariance matrix of the centered point cloud, and performing singular value decomposition on the covariance matrix to obtain the optimal rotation matrix and translation vector; updating the transformation matrix, and continuing to iterate until a preset maximum number of iterations is reached or the change in the transformation matrix is less than a set tolerance value; outputting a final transformation matrix, which enables the second point cloud set to achieve optimal alignment with the first point cloud set.
[0012] Optionally, based on the point set of the upper and lower planes of each vertebra of the standard spine, the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after alignment is obtained, so as to obtain the point set of the upper and lower planes of each vertebra of the target spine, including: using a Top-k search tree to search for the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after alignment based on the point set of the upper and lower planes of each vertebra of the standard spine, so as to obtain the point set of the upper and lower planes of each vertebra of the target spine.
[0013] Optionally, extracting the point set of the upper and lower planes of each vertebra of the standard spine from the first point cloud set includes: fitting all the upper and lower surfaces of the vertebrae in the first point cloud set by a random sampling consistency algorithm to obtain the point set of the upper and lower planes of each vertebra of the standard spine.
[0014] Optionally, the upper and lower surfaces of all vertebrae in the first point cloud set are searched by a random sampling consistency algorithm to obtain point sets of the upper and lower planes of each vertebra of the standard spine, including: for each vertebra, randomly selecting multiple points to fit an initial plane model, calculating the distances from all points in the first point cloud set to the initial plane model, and marking the points whose distances are less than or equal to a preset threshold as inner points; updating the plane model through multiple iterations, and recording the corresponding number of inner points in each iteration, and selecting the plane model with the largest number of inner points as the best fitting plane; identifying the uppermost and lowermost best fitting planes in the first point cloud set, and extracting the point sets corresponding to the uppermost and lowermost best fitting planes as the upper and lower plane point sets of the vertebra.
[0015] Optionally, the scoliosis degree of the target spine is detected in different directions based on the point set of the upper and lower planes of each vertebra of the target spine, including: calculating the normal vector of the upper and lower planes of each vertebra of the target spine based on the point set of the upper and lower planes of each vertebra of the target spine; calculating the angle between the normal vector of the upper and lower planes of each vertebra of the target spine and the specified direction vector, and obtaining the first angle between the upper plane of each vertebra of the target spine and the specified direction, and the second angle between the lower plane and the specified direction; for each vertebra, calculating the difference between the first angle of the vertebra and the second angle of the other vertebra, to obtain the maximum angle difference between two vertebrae of the target spine; wherein the maximum angle difference is the Cobb angle representing the degree of scoliosis.
[0016] According to another aspect of the embodiment of the present application, a scoliosis detection system is provided, comprising: a first processing module, for acquiring CT images and preprocessing the CT images; wherein the CT images include a first CT image and a second CT image, the first CT image is a CT image corresponding to a standard spine, and the second CT image is a CT image corresponding to a target spine for which the scoliosis degree is to be detected; a second processing module, for performing vertebral segmentation on the preprocessed CT images, and converting the segmentation map of each vertebra into a corresponding point cloud map to create a point cloud set; wherein the point cloud set includes a first point cloud set and a second point cloud set, the first point cloud set is the standard spine The corresponding point cloud set, the second point cloud set is the point cloud set corresponding to the target spine; a third processing module, used to align the first point cloud set with the second point cloud set; a fourth processing module, used to extract the point set of the upper and lower planes of each vertebra of the standard spine from the first point cloud set, and according to the point set of the upper and lower planes of each vertebra of the standard spine, obtain the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after alignment, and obtain the point set of the upper and lower planes of each vertebra of the target spine; a fifth processing module, used to detect the degree of scoliosis of the target spine in different directions according to the point set of the upper and lower planes of each vertebra of the target spine.
[0017] In an embodiment of the present application, two groups of CT images are obtained, one group is a CT image of a standard spine (as a reference), and the other group is a CT image of a target spine to be detected, and the two groups of images are preprocessed. The preprocessed CT images are segmented into vertebrae, and the image area of each vertebra is converted into a point cloud in three-dimensional space. The point cloud set of the standard spine (the first point cloud set) is aligned with the point cloud set of the target spine (the second point cloud set). The point sets of the upper and lower planes of each vertebra are extracted from the point cloud set of the standard spine, and the nearest point set to the upper and lower planes of the registered standard spine is found in the point cloud set of the target spine. According to the point sets of the upper and lower planes of each vertebra of the target spine, the degree of scoliosis is detected in different directions. This method reduces the influence of human factors on the measurement results through automated image processing and point cloud analysis, and improves the objectivity and consistency of the measurement. Although the shooting conditions still have a certain impact on the CT images, this impact can be alleviated to a certain extent through steps such as preprocessing and point cloud alignment. Since three-dimensional point cloud data is used for analysis, this method can more accurately reflect the three-dimensional morphology and scoliosis of the spine, especially in complex spinal deformities. It solves the technical problems of existing X-ray image Cobb angle measurement technology in scoliosis assessment, such as high subjectivity, large differences between observers, being affected by shooting conditions and being unable to fully reflect the three-dimensional deformity of the spine. It achieves the technical effect of effectively improving the accuracy and comprehensiveness of scoliosis detection. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following briefly introduces the drawings required for use in the embodiments or the prior art descriptions. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other embodiments can be obtained based on these drawings without creative work.
[0019] Figure 1 A flowchart of a scoliosis detection method provided in an embodiment of the present application;
[0020] Figure 2 A flowchart of a scoliosis detection method provided for an optional embodiment of the present application;
[0021] Figure 3 A schematic diagram of a 3D U-Net model provided for an optional embodiment of the present application;
[0022] Figure 4 A schematic diagram of the search results of upper and lower plane point sets of each vertebra provided in an optional embodiment of the present application;
[0023] Figure 5 A schematic diagram of a scoliosis detection system provided in an embodiment of the present application;
[0024] Figure 6 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0025] The embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present application are shown in the accompanying drawings, it should be understood that the embodiments of the present application can be implemented in various forms and should not be interpreted as being limited to the embodiments described herein. Instead, these embodiments are provided to provide a more thorough and complete understanding of the embodiments of the present application. It should be understood that the drawings and embodiments of the present application are only for exemplary purposes and are not intended to limit the scope of protection of the present application.
[0026] According to one aspect of an embodiment of the present application, a scoliosis detection method is provided. Figure 1 A flowchart of a scoliosis detection method provided in an embodiment of the present application is shown in FIG. Figure 1 As shown, the method comprises the following steps:
[0027] Step S102, acquiring a CT image and preprocessing the CT image; wherein the CT image includes a first CT image and a second CT image, the first CT image is a CT image corresponding to a standard spine, and the second CT image is a CT image corresponding to a target spine whose scoliosis degree is to be detected.
[0028] The above preprocessing includes but is not limited to denoising, normalization, etc. For example, the CT images are oriented to ensure that the orientation of all CT images meets the output settings of the training model; when training the 3D U-Net model, a variety of random transformation operations are performed on the training data to increase the data, so as to improve the robustness and generalization ability of the model.
[0029] Step S104, performing vertebral segmentation on the preprocessed CT image, and converting the segmentation map of each vertebra into a corresponding point cloud map to create a point cloud set; wherein the point cloud set includes a first point cloud set and a second point cloud set, the first point cloud set is a point cloud set corresponding to the standard spine, and the second point cloud set is a point cloud set corresponding to the target spine.
[0030] Step S106: align the first point cloud set with the second point cloud set.
[0031] Step S108, extracting the point set of the upper and lower planes of each vertebra of the standard spine from the first point cloud set, and obtaining the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after alignment based on the point set of the upper and lower planes of each vertebra of the standard spine, to obtain the point set of the upper and lower planes of each vertebra of the target spine.
[0032] Step S110 , detecting the scoliosis degree of the target spine in different directions according to the point sets of the upper and lower planes of each vertebra of the target spine.
[0033] In an embodiment of the present application, two groups of CT images are obtained, one group is the CT image of the standard spine (as a reference), and the other group is the CT image of the target spine to be detected, and the two groups of images are preprocessed. The preprocessed CT images are segmented into vertebrae, and the image area of each vertebra is converted into a point cloud in three-dimensional space. The point cloud set of the standard spine (the first point cloud set) is aligned with the point cloud set of the target spine (the second point cloud set). The point sets of the upper and lower planes of each vertebra are extracted from the point cloud set of the standard spine, and the nearest point set to the upper and lower planes of the registered standard spine is found in the point cloud set of the target spine. According to the point sets of the upper and lower planes of each vertebra of the target spine, the degree of scoliosis is detected in different directions. This method reduces the influence of human factors on the measurement results through automated image processing and point cloud analysis, and improves the objectivity and consistency of the measurement. Although the shooting conditions still have a certain impact on the CT images, this impact can be alleviated to a certain extent through steps such as preprocessing and point cloud alignment. Since three-dimensional point cloud data is used for analysis, this method can more accurately reflect the three-dimensional morphology and scoliosis of the spine, especially in complex spinal deformities. It solves the technical problems of existing X-ray image Cobb angle measurement technology in scoliosis assessment, such as high subjectivity, large differences between observers, being affected by shooting conditions and being unable to fully reflect the three-dimensional deformity of the spine. It achieves the technical effect of effectively improving the accuracy and comprehensiveness of scoliosis detection.
[0034] As an optional embodiment, vertebral segmentation is performed on the preprocessed CT image, including: inputting the preprocessed CT image into a 3D U-Net model, and the 3D U-Net model outputs a segmentation map of each vertebra; wherein the 3D U-Net model includes an encoder and a decoder, the encoder is used to extract feature data of the image layer by layer, and pass the features to the decoder through a jump connection, and the decoder is used to restore the spatial resolution of the image layer by layer, and output a segmentation map with the same size as the input image.
[0035] Optionally, a large number of CT image datasets are used to train the 3D U-Net model, which includes CT images of standard spines and various types of scoliotic spines, and the boundaries of each vertebra have been pre-marked. The 3D U-Net model is selected as the network architecture for vertebral segmentation. The 3D U-Net model is trained using the prepared CT image dataset. During the training process, the model will learn how to extract useful features from the input CT images and predict the category of each voxel (i.e., whether it belongs to a certain vertebra) based on these features. The encoder part extracts the feature data of the image layer by layer through multi-layer convolution and pooling operations, and uses jump connections to pass the feature information of different levels to the decoder to maintain the continuity of spatial information. The decoder part restores the spatial resolution of the image layer by layer through upsampling and convolution operations, and finally outputs a segmentation map of the same size as the input image. The value of each pixel in the segmentation map represents the category to which it belongs, that is, each voxel is assigned a category label, indicating whether it belongs to a certain vertebra. After the training is completed, the preprocessed CT images (including the first CT image and the second CT image) are input into the trained 3D U-Net model, and the model will automatically output the segmentation map of each vertebra.
[0036] In an embodiment of the present application, the 3D U-Net model can effectively extract and utilize multi-level feature information in the image through its unique encoder-decoder structure and skip connection mechanism, thereby achieving high-precision vertebral segmentation. Compared with the traditional manual segmentation method, the automated segmentation based on the 3D U-Net model greatly improves the processing efficiency and reduces the workload of doctors. At the same time, due to the reduction of interference from human factors, the objectivity and consistency of the segmentation results are also improved. The 3DU-Net model has a strong generalization ability and can handle vertebrae of different shapes, sizes and positions, making it more flexible and adaptable when applied to different types of scoliosis detection.
[0037] As an optional embodiment, converting the segmentation map of each vertebra into a corresponding point cloud map includes: converting the segmentation map of each vertebra into a corresponding point cloud map by meshing the point cloud.
[0038] Optionally, morphological operations (erosion, expansion, opening, closing) are performed to reduce the number of pixels that are incorrectly segmented. The features and pixel information of the cone (cylinder) are then obtained based on the values of different pixels; and the segmentation map of the cone is converted into a corresponding point cloud map to facilitate subsequent operations.
[0039] Optionally, the boundary of each vertebra is extracted from each vertebra segmentation map output by the 3D U-Net model, for example, by a contour detection algorithm (such as a Canny edge detector) or a morphological operation (such as corrosion and expansion) to obtain an accurate vertebra boundary. The internal area of the extracted vertebra boundary is meshed by dividing the three-dimensional space into a series of small triangular faces. The number of vertebrae of the mesh can be adjusted as needed to balance the computational efficiency and the point cloud density. Within each grid cell, representative points are selected according to a certain sampling strategy (such as random sampling, uniform sampling, or sampling based on the center of the grid) to form a point cloud. These representative points will reflect the shape and position information of the vertebra in the grid cell. In order to improve the quality of the point cloud, some post-processing steps can be performed, such as removing noise points, smoothing the point cloud surface, and performing normal estimation, which helps to reduce redundant information and errors in the point cloud and improve the accuracy of subsequent processing. The processed point cloud data is output in an appropriate format to form a point cloud map corresponding to each vertebra.
[0040] In the embodiments of the present application, the three-dimensional shape and boundary information of the vertebra can be accurately represented by the point cloud meshing method. Compared with directly processing the original segmentation map data, the point cloud data has a higher processing efficiency. Because the point cloud data only retains the necessary shape and position information, a large amount of redundant data is removed. The point cloud meshing method can be adjusted and optimized according to different application scenarios and requirements. For example, the point cloud requirements of different accuracy and density can be adapted by changing parameters such as grid size and sampling strategy.
[0041] As an optional embodiment, registering the first point cloud set with the second point cloud set includes: registering the first point cloud set with the second point cloud set using an iterative closest point method, and aligning the spatial coordinate system of the standard spine to the spatial coordinate system of the target spine.
[0042] Optionally, set the initial parameters required by the ICP algorithm, including the maximum number of iterations, the tolerance value (used to determine whether the algorithm converges), and an initial transformation matrix (usually a unit matrix, indicating no initial rotation and translation). Load the first point cloud set and the second point cloud set. At the beginning of each iteration, for each point in the first point cloud set, use a certain search strategy (such as KD tree search) to find the nearest point in the second point cloud set to form a set of corresponding point pairs. Based on these corresponding point pairs, calculate the optimal rotation matrix and translation vector so that the first point cloud set can overlap with the second point cloud set as much as possible after the transformation. Apply the calculated optimal transformation to the first point cloud set and update its spatial position. After each iteration, check whether the change in the transformation matrix is less than the set tolerance value or whether the maximum number of iterations has been reached. If so, stop the iteration; otherwise, continue to the next iteration. When the iterative process ends, output the final transformation matrix. This matrix can effectively align the spatial coordinate system of the standard spine to the spatial coordinate system of the target spine.
[0043] In the embodiment of the present application, the ICP algorithm can gradually reduce the difference between two point cloud sets and achieve high-precision spatial alignment by iteratively searching and applying the optimal transformation. The ICP algorithm has certain robustness to problems such as initial position, noise, and local minima. The stability and reliability of the algorithm can also be further improved through reasonable parameter settings and search strategy selection.
[0044] As an optional embodiment, an iterative nearest point method is used to align the first point cloud set with the second point cloud set, and the spatial coordinate system of the standard spine is aligned to the spatial coordinate system of the target spine, including: initializing the transformation matrix as a unit matrix; in each iteration, using the current transformation matrix to transform the first point cloud set, and finding the nearest point in the second point cloud set for each transformed point; calculating the center of mass of the nearest point set in the first point cloud set and the second point cloud set, centering the point cloud, calculating the covariance matrix of the centered point cloud, and performing singular value decomposition on the covariance matrix to obtain the optimal rotation matrix and translation vector; updating the transformation matrix, and continuing to iterate until a preset maximum number of iterations is reached or the change in the transformation matrix is less than the set tolerance value; outputting a final transformation matrix, which enables the second point cloud set to achieve optimal alignment with the first point cloud set.
[0045] Optionally, initialize an identity matrix as the transformation matrix, which contains rotation and translation information. The identity matrix means that in the initial state, the positions of the two point cloud sets in space have not undergone any transformation. Load the data of the first point cloud set (representing the standard spine) and the second point cloud set (representing the target spine), ensuring that they are stored in the form of three-dimensional coordinate points.
[0046] Furthermore, in each iteration, each point in the first point cloud set is transformed using the current transformation matrix to obtain the transformed point cloud set. For each point in the transformed first point cloud set, the nearest point is found in the second point cloud set to form the nearest point set. The centroid of the nearest point set is calculated, and the two point cloud sets (the nearest point sets in the transformed first point cloud set and the second point cloud set) are subtracted from their respective centroids to achieve centralization and reduce the offset effect when calculating the covariance matrix. Based on the centered point cloud, the covariance matrix between them is calculated. Then, the covariance matrix is subjected to singular value decomposition (SVD) to find the optimal rotation matrix and translation vector. These parameters can minimize the mean square error between the two point cloud sets. The calculated rotation matrix and translation vector are used to update the transformation matrix. Repeat the above steps until the preset maximum number of iterations is reached, or the change in the transformation matrix (i.e., the difference between the new and old transformation matrices) is less than the set tolerance value to ensure the stability and convergence of the algorithm.
[0047] Furthermore, when the iteration process is finished, a final transformation matrix is output, which can effectively align the spatial coordinate system of the standard spine to the spatial coordinate system of the target spine. The point cloud set of the standard spine is transformed using the final transformation matrix so that it is optimally aligned with the point cloud set of the target spine in space.
[0048] In the embodiments of the present application, the iterative closest point method (ICP) can be used to achieve high-precision alignment of two point cloud sets, especially in medical image processing, such as spinal morphology analysis, which can significantly improve the accuracy and reliability of the analysis. The entire registration process is highly automated, reducing the need for manual intervention and improving processing efficiency and consistency. Through iteration and tolerance control, a certain degree of noise and initial position differences between point clouds can be handled, improving the robustness of the algorithm.
[0049] As an optional embodiment, based on the point set of the upper and lower planes of each vertebra of the standard spine, the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after alignment is obtained, and the point set of the upper and lower planes of each vertebra of the target spine is obtained, including: using a Top-k search tree, based on the point set of the upper and lower planes of each vertebra of the standard spine, searching for the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after alignment, and obtaining the point set of the upper and lower planes of each vertebra of the target spine.
[0050] Optionally, a Top-k search tree is constructed for all points in the second point cloud set. This tree structure organizes the point cloud data so that the k points closest to a given query point can be quickly queried. If the standard spine and the spine in the second point cloud set are not in the same coordinate system or have posture differences, a registration operation needs to be performed first. The registration can be completed by the ICP (Iterative Closest Point) algorithm or other registration methods to ensure that the standard spine is aligned with the spine in the second point cloud set in spatial position. For each point set of the upper and lower planes of the vertebra of the standard spine, a Top-k search tree is used to query the point set closest to the plane point set in the second point cloud set. A query can be performed on each point in each plane point set (or a portion of representative points can be selected to reduce the amount of calculation), and the returned closest points are collected. Since the Top-k search tree directly supports finding the nearest k points, the k value can be set to obtain a sufficient number of nearest points to represent the corresponding upper and lower planes of the vertebra of the target spine. All the queried nearest point sets are merged and filtered or processed as needed (such as removing duplicate points, smoothing, etc.) to obtain the final point set of the upper and lower planes of each vertebra of the target spine.
[0051] In the embodiments of the present application, the use of efficient spatial index structures such as Top-k search trees can significantly speed up the search for the nearest point set, especially when processing large-scale point cloud data. By accurately searching for the point set closest to the upper and lower planes of each vertebra of the standard spine, it can be ensured that the target spine point set obtained is highly consistent with the actual situation of the target spine in terms of morphology and structure.
[0052] As an optional embodiment, extracting the point sets of the upper and lower planes of each vertebra of the standard spine from the first point cloud set includes: fitting all the upper and lower surfaces of the vertebrae in the first point cloud set by a random sampling consistency algorithm to obtain the point sets of the upper and lower planes of each vertebra of the standard spine.
[0053] Optionally, the first point cloud set is preprocessed, including removing noise points, smoothing the point cloud, etc., to improve the accuracy and efficiency of subsequent processing. If the position of the vertebra in the point cloud set is not very obvious or the position of the vertebra has been determined by other methods (such as segmentation algorithms), the point cloud can be first divided into regions to roughly separate the point cloud of each vertebra.
[0054] Further, for each vertebra (or vertebral region), the RANSAC algorithm is applied to find the point sets of the upper and lower planes. Three non-collinear points are randomly selected from the point cloud set of the current vertebra, and these three points are used to fit an initial plane model. The distance from all points in the point cloud set to this initial plane model is calculated, and the points whose distance is less than or equal to the preset threshold are marked as inliers. The above steps are repeated multiple times (usually a maximum number of iterations is set), and sample points are randomly selected again in each iteration and a new plane model is fitted. In each iteration, the number of inliers is recorded, and all inliers are used to refit the plane model. After all iterations are completed, the plane model with the largest number of inliers is selected as the best fitting plane for the current vertebra. For each vertebra, the upper and lower planes are identified by comparing the heights (or Z coordinates) of each best fitting plane, and the point sets corresponding to the upper and lower planes are extracted. Usually, the plane with the highest height is regarded as the upper plane, and the plane with the lowest height is regarded as the lower plane.
[0055] In the embodiments of the present application, the RANSAC algorithm is highly robust to noise and outliers, and can automatically exclude points that do not conform to the distribution pattern of most points, thereby obtaining a more accurate plane fitting result.
[0056] As an optional embodiment, the upper and lower surfaces of all vertebrae in the first point cloud set are searched through a random sampling consistency algorithm to obtain a point set of the upper and lower planes of each vertebra of the standard spine, including: for each vertebra, a plurality of points are randomly selected to fit an initial plane model, the distances from all points in the first point cloud set to the initial plane model are calculated, and the points whose distances are less than or equal to a preset threshold are marked as inner points; the plane model is updated through multiple iterations, and the corresponding number of inner points in each iteration is recorded, and the plane model with the largest number of inner points is selected as the best fitting plane; the uppermost and lowermost best fitting planes in the first point cloud set are identified, and the point sets corresponding to the uppermost and lowermost best fitting planes are extracted as the upper and lower plane point sets of the vertebra.
[0057] Optionally, for each vertebra in the first point cloud set, initialization is first performed, such as determining the approximate position or area of the vertebra, so that each vertebra can be processed independently in subsequent steps. For each vertebra, a plurality of points (usually three non-collinear points) are randomly selected to fit an initial plane model, which will be used as the starting point for subsequent iterations. The distances from all points in the first point cloud set to the initial plane model are calculated, and these distances will be used to evaluate whether the points belong to the plane model. Points with distances less than or equal to a preset threshold are marked as inliers (i.e., these points are considered to belong to the plane model), and the selection of the threshold depends on the noise level of the data and the required fitting accuracy. The plane model is refitted using all the points marked as inliers. This process is repeated multiple times, and each iteration updates the plane model and recalculates the distance from the point to the plane model. In each iteration, the corresponding number of inliers is recorded. After the iteration, the plane model with the largest number of inliers is selected as the best fitting plane for the vertebra, and the plane model is most likely to represent the true upper and lower planes of the vertebra. Among the best fitting planes of all vertebrae, the uppermost and lowermost best fitting planes are identified, and the point sets corresponding to the uppermost and lowermost best fitting planes are extracted as the upper and lower plane point sets of the vertebrae.
[0058] In the embodiment of the present application, the method not only realizes the process of automatically finding and determining the upper and lower planes of the vertebra from the point cloud set without manual intervention, but also greatly improves the processing efficiency and accuracy, and reduces human errors. In addition, by accurately fitting the upper and lower planes of the vertebra and extracting the corresponding point set, the morphology and structural characteristics of the spine can be more accurately reflected.
[0059] As an optional embodiment, the scoliosis degree of the target spine is detected in different directions based on the point set of the upper and lower planes of each vertebra of the target spine, including: calculating the normal vectors of the upper and lower planes of each vertebra of the target spine based on the point set of the upper and lower planes of each vertebra of the target spine; calculating the angle between the normal vector of the upper and lower planes of each vertebra of the target spine and the specified direction vector, and obtaining the first angle between the upper plane of each vertebra of the target spine and the specified direction, and the second angle between the lower plane and the specified direction; for each vertebra, calculating the difference between the first angle of the vertebra and the second angle of the other vertebra, to obtain the maximum angle difference between two vertebrae of the target spine; wherein the maximum angle difference is the Cobb angle representing the degree of scoliosis.
[0060] Optionally, a 3D Cobb angle calculation algorithm is used to perform Cobb angle calculation, [S 0 ,S 1 ,....,S n ] represents the vertebral number from top to bottom, Represents the point set of the upper and lower vertebral plates of the i-th vertebra found; using the point set of the vertebral plates found, use the SVD (singular value decomposition) algorithm to obtain the normal vector of the optimal plane equation Iteratively calculate the plane normal vector on each vertebra and the lower plane normal vector The angle between the two vertebrae can provide more information about the inclination of the vertebrae to help doctors assess the degree of scoliosis in patients.
[0061] In the method of calculating the Cobb angle, a 3D U-Net model is used as the basic segmentation network, and the 2D U-Net model is expanded to process the three-dimensional volume data of CT scans, thereby improving the accuracy of detecting the Cobb angle. The 3D U-Net model is mainly composed of an encoder-decoder structure. The encoder gradually reduces the spatial resolution and increases the feature channels, while the decoder restores the resolution and reduces the channels. The jump connection directly passes the feature map of the encoder layer to the corresponding decoder layer to preserve the resolution details. The 3D convolution operation in the model enables it to capture contextual information in three-dimensional space, and the extraction of multi-scale features improves the segmentation performance. In addition, due to the obvious difference in the feature values of the input CT images, when training the segmentation model, the data is normalized using the mean standard deviation, and the edge values are removed to keep the data within the appropriate bone window range, while ensuring the stability of model learning and improving the convergence speed of the model.
[0062] Under the same input conditions, stable output results can be generated. This method uses automated measurement to solve the normal vectors of the upper and lower planes of the vertebra, and further calculates the angle between the two planes of the vertebra to obtain the Cobb angle, avoiding the influence of subjectivity on the Cobb angle measurement, making the detection of the Cobb angle reproducible.
[0063] Using the 3D U-Net model as the basic network, the 3D volume data of CT scans is expanded, and the 3D convolution operation is used to capture the 3D spatial information of the vertebral body. The RANSAC algorithm is used to obtain the 3D cloud point set information of the vertebral surface and solve the spatial coordinate equation. The spatial coordinate equation can be transformed into a coordinate system to realize the calculation of the Cobb angle in any direction.
[0064] Optionally, for each vertebra of the target spine, firstly, the equation of the plane is fitted based on the point set of its upper and lower planes using the least square method or other mathematical methods. Then, the normal vectors of the upper and lower planes of each vertebra are calculated based on the plane equations. The normal vector is a vector perpendicular to the plane and pointing in a specific direction, which reflects the orientation of the plane.
[0065] Furthermore, one or more specified direction vectors are defined. These direction vectors can be set as needed. For example, the direction perpendicular to the ground when the human body is standing can be selected as the reference direction. For the upper and lower planes of each vertebra, the angle between its normal vector and the specified direction vector is calculated. The first angle between the upper plane of each vertebra and the specified direction and the second angle between the lower plane and the specified direction are obtained respectively.
[0066] Furthermore, for each vertebra, the difference between the first angle of the vertebra and the second angle of the other vertebra is calculated to obtain the maximum angle difference between the two vertebrae of the target spine. A vertebra is randomly selected from all the vertebrae of the target spine as the target vertebra, and the other vertebrae are any vertebrae of all the vertebrae of the target spine except the target vertebra. For example, for 1 to (n-1) vertebrae in the target cone, the difference between their first angle and the second angle of all 2 to n vertebrae is calculated respectively, where the maximum angle difference reflects the overall scoliosis degree of the entire spine in the direction of screw placement.
[0067] It should be noted that different specified direction vectors can be selected as needed to evaluate the degree of scoliosis in different directions of the spine, so that the method has stronger adaptability and flexibility and can meet different clinical needs. In some cases, it may be necessary to compare the degree of scoliosis in different directions to determine the most severe scoliosis direction. At this time, the maximum angle difference in different directions can be calculated separately, and the maximum value can be selected as the Cobb angle representing the degree of scoliosis.
[0068] In the embodiment of the present application, by calculating the difference between the first angle of each vertebra of the target spine and the second angle of each other vertebra, the maximum angle difference (Cobb angle) is obtained, which realizes the objective quantitative evaluation of the degree of scoliosis, reduces subjectivity and differences between observers, and improves the accuracy of the evaluation. Since the upper and lower plane information of all vertebrae of the target spine is taken into account and the angle difference between them in different directions can be calculated, the scoliosis of the spine can be more comprehensively reflected.
[0069] The optional embodiments of the present application are described in detail below.
[0070] An optional embodiment of the present application provides a scoliosis detection method based on CT images that integrates spine segmentation, alignment, and measurement. Figure 2 A flowchart of a scoliosis detection method provided for an optional embodiment of the present application, such as Figure 2 As shown, the method comprises the following steps:
[0071] S201, receiving a template CT image (corresponding to the first CT image mentioned above) and a patient CT image (corresponding to the second CT image mentioned above), and preprocessing the input CT image;
[0072] Specifically, since CT images are taken by different devices and may contain different angles, there are differences in the data feature space. It is necessary to preprocess the captured images and use data enhancement technology to increase the number of samples to improve the diversity of samples and avoid the gradient disappearance phenomenon during the segmentation model learning process.
[0073] In step S201, the preprocessing includes the following steps:
[0074] In S2011, a denoising method is used to avoid Gaussian noise in image shooting; the image is normalized by mean standard deviation to remove outliers, ensure that the pixels are distributed within the bone window range, and avoid the gradient disappearance phenomenon during the segmentation model learning process; the image trained by the segmentation model is subjected to random axis replacement, random rotation, scaling and other operations to increase the diversity of samples and improve the generalization of the segmentation model.
[0075] In this step, the image segmentation model learning data uses the VerSe dataset and is appropriately expanded. The main modifications are as follows:
[0076] S2012,VerSe dataset contains 355 patients and 374 CT images. In this step, VerSe labels are modified to only mark the vertebral body, the input and output model sizes are changed to (128, 128, 128), and the input image pixels are normalized to the bone window range.
[0077] S202, using the 3D U-Net model as the basic network, inputting the image to be inferred, and performing inference segmentation to obtain a specific vertebral segmentation map.
[0078] Figure 3 A schematic diagram of a 3D U-Net model provided for an optional embodiment of the present application, such as Figure 3 As shown in the figure, the 3D U-Net model is used as the basic network, which consists of an encoder and a decoder structure. The size of the 3D convolution kernel is usually 3×3×3, the step size is 1, and the padding pixel is 1; the pooling layer is a maximum pooling layer with a kernel size of 2×2×2; ELU is used as the activation function; the order of each convolution block is: 3D convolution-->ELU-->3D Batch Normalization.
[0079] S203, converting the segmented segmentation map into a point cloud map using open3d.
[0080] S204, using the ICP (Iterative Closest Point) registration algorithm, the coordinate system of the template point cloud (corresponding to the first point cloud set mentioned above) is mapped to the coordinate system of the patient point cloud (corresponding to the second point cloud set mentioned above).
[0081] The specific steps of the ICP algorithm are: S2041, initialize the transformation matrix to the unit matrix; S2042, in each iteration, use the current transformation matrix to transform the template point cloud, and find the nearest point in the patient point cloud for each transformed source point. S2043, by calculating the centroid of the template point cloud and the nearest point set, centering the point cloud, calculating the covariance matrix, and performing SVD (singular value decomposition) to obtain the optimal rotation matrix and translation vector. After updating the transformation matrix, continue to iterate until the maximum number of iterations is reached or the change in the transformation matrix is less than the set tolerance value; S2044, finally, the ICP algorithm outputs the transformation matrix that optimally aligns the patient point cloud with the template point cloud.
[0082] S205, using the RANSAC algorithm, searching for upper and lower plane point sets of the template. Figure 4 A schematic diagram of the search results of the upper and lower plane points of each vertebra provided in an optional embodiment of the present application, such as Figure 4 As shown, each cone corresponds to an upper plane point set and a lower plane point set. In the specific implementation process, each cone can be marked with a different color, and the upper plane point set and the lower plane point set can also be distinguished by color difference.
[0083] The specific steps of the RANSAC algorithm are as follows: S2051, first randomly select a number of points to fit a plane model, then calculate the distance from all points to the plane, and regard the points whose distance is within the set threshold as inliers; S2052, then repeat this process multiple times, and select the plane model containing the most inliers as the best fitting plane. By identifying the two best fitting planes at the top and bottom of the point cloud, the upper and lower plane point sets are extracted.
[0084] S206, 3D Cobb angle calculation steps are as follows: S2061, using SVD (singular value decomposition) to obtain the optimal plane equation ax+by+cz+d=0. S2062, specifying the direction vector v=(v1, v2, v3), solving the plane equation's normal vector n and the cosine angle of the direction vector v The angle between the plane and the direction vector can be obtained. S2063, solve the vertebral body [S 0 ,S 1 ,....,S n ], corresponding to the upper and lower planes of each vertebra The angle with the corresponding direction vector Iterate the difference between the angles of the upper plane of 0 to n vertebrae and the lower plane of 0 to n vertebrae, The maximum angle difference is solved, which is the Cobb angle of the upper and lower vertebrae with the most serious tilt.
[0085] In an optional embodiment of the present application, the vertebral body is first segmented using a 3D U-Net model to achieve vertebral positioning while obtaining vertebral feature information. Afterwards, the segmentation map obtained by model reasoning is converted into a point cloud map, and a template and patient point cloud samples are created. At the same time, the RANSAC (random sampling consistency) algorithm is used to find all vertebral upper and lower plane point sets in the point cloud sample, and the ICP (iterative closest point) algorithm is used to match the template vertebral point cloud to the patient point cloud space. Then, based on the template point set, a Top-k search tree is used to find the point set in the patient point cloud set that is closest to the upper and lower planes of the template vertebra after registration, so as to solve the normal vectors of the upper and lower planes of each vertebra of the patient. Finally, the 3D Cobb angle between the vertebrae is determined through iterative calculation, and the degree of scoliosis is evaluated accordingly.
[0086] The optional embodiment of the present application can effectively evaluate the three-dimensional scoliosis degree of the spine. The fully automated error measurement method effectively reduces the subjective error in Cobb angle measurement. In addition, the measurement in three-dimensional space can realize multi-plane and multi-axial Cobb angle calculation, thereby providing more comprehensive data support for the accurate diagnosis and personalized treatment of scoliosis.
[0087] According to another aspect of the embodiments of the present application, a scoliosis detection system is provided. Figure 5 A schematic diagram of a scoliosis detection system provided in an embodiment of the present application is shown in FIG. Figure 5 As shown, the scoliosis detection system includes: a first processing module 502, a second processing module 504, a third processing module 506, a fourth processing module 508 and a fifth processing module 510. The scoliosis detection system is described in detail below.
[0088] The first processing module 502 is used to obtain CT images and pre-process the CT images; wherein the CT images include a first CT image and a second CT image, the first CT image is a CT image corresponding to a standard spine, and the second CT image is a CT image corresponding to a target spine whose scoliosis degree is to be detected.
[0089] The second processing module 504 is connected to the first processing module 502, and is used to perform vertebral segmentation on the preprocessed CT image, and convert the segmentation map of each vertebra into a corresponding point cloud map to create a point cloud set; wherein the point cloud set includes a first point cloud set and a second point cloud set, the first point cloud set is a point cloud set corresponding to the standard spine, and the second point cloud set is a point cloud set corresponding to the target spine.
[0090] The third processing module 506 is connected to the second processing module 504 and is used to register the first point cloud set with the second point cloud set.
[0091] The fourth processing module 508 is connected to the third processing module 506, and is used to extract the point set of the upper and lower planes of each vertebra of the standard spine from the first point cloud set, and obtain the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after alignment based on the point set of the upper and lower planes of each vertebra of the standard spine, so as to obtain the point set of the upper and lower planes of each vertebra of the target spine.
[0092] The fifth processing module 510 is connected to the fourth processing module 508 and is used to detect the scoliosis degree of the target spine in different directions according to the point sets of the upper and lower planes of each vertebra of the target spine.
[0093] It should be noted here that the above-mentioned first processing module 502, second processing module 504, third processing module 506, fourth processing module 508 and fifth processing module 510 correspond to steps S102 to S110 in the method embodiment, and the examples and application scenarios implemented by the above-mentioned modules are the same as those of the corresponding steps, but are not limited to the contents disclosed in the above-mentioned method embodiment.
[0094] As an optional embodiment, the second processing module 504 includes: a first processing unit, used to input the preprocessed CT image into the 3D U-Net model, and the 3D U-Net model outputs a segmentation map of each vertebra; wherein the 3D U-Net model includes an encoder and a decoder, the encoder is used to extract feature data of the image layer by layer, and pass the features to the decoder through a jump connection, and the decoder is used to restore the spatial resolution of the image layer by layer, and output a segmentation map with the same size as the input image.
[0095] As an optional embodiment, the second processing module 504 includes: a second processing unit, configured to convert the segmentation map of each vertebra into a corresponding point cloud map by meshing the point cloud.
[0096] As an optional embodiment, the third processing module 506 includes: a third processing unit, used to align the first point cloud set with the second point cloud set using an iterative closest point method, and align the spatial coordinate system of the standard spine to the spatial coordinate system of the target spine.
[0097] As an optional embodiment, the above-mentioned third processing unit includes: a first processing subunit, used to initialize the transformation matrix as a unit matrix; a second processing subunit, used to use the current transformation matrix to transform the first point cloud set in each iteration, and find the nearest point in the second point cloud set for each transformed point; a third processing subunit, used to calculate the center of mass of the nearest point set in the first point cloud set and the second point cloud set, center the point cloud, calculate the covariance matrix of the centered point cloud, and perform singular value decomposition on the covariance matrix to obtain the optimal rotation matrix and translation vector; update the transformation matrix, and continue to iterate until the preset maximum number of iterations is reached or the change in the transformation matrix is less than the set tolerance value; a fourth processing subunit, used to output the final transformation matrix, and the final transformation matrix enables the second point cloud set to achieve the best alignment with the first point cloud set.
[0098] As an optional embodiment, the fourth processing module 508 includes: a fourth processing unit, used to use a Top-k search tree to search for the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after alignment based on the point set of the upper and lower planes of each vertebra of the standard spine, so as to obtain the point set of the upper and lower planes of each vertebra of the target spine.
[0099] As an optional embodiment, the fourth processing module 508 includes: a fifth processing unit, configured to search all vertebral upper and lower surfaces in the first point cloud set by a random sampling consistency algorithm to obtain a point set of each vertebral upper and lower plane of the standard spine.
[0100] As an optional embodiment, the fifth processing unit includes: a fifth processing sub-unit, for randomly selecting multiple points to fit an initial plane model for each vertebra, calculating the distances from all points in the first point cloud set to the initial plane model, and marking the points whose distances are less than or equal to a preset threshold as internal points; a sixth processing sub-unit, for updating the plane model through multiple iterations, and recording the corresponding number of internal points in each iteration, and selecting the plane model with the largest number of internal points as the best fitting plane; a seventh processing sub-unit, for identifying the uppermost and lowermost best fitting planes in the first point cloud set, and extracting the point sets corresponding to the uppermost and lowermost best fitting planes as the upper and lower plane point sets of the vertebra.
[0101] As an optional embodiment, the fifth processing module 510 includes: a sixth processing unit, for calculating the normal vectors of the upper and lower planes of each vertebra of the target spine based on the point sets of the upper and lower planes of each vertebra of the target spine; a seventh processing unit, for calculating the angles between the normal vectors of the upper and lower planes of each vertebra of the target spine and the specified direction vector, and obtaining the first angle between the upper plane of each vertebra of the target spine and the specified direction, and the second angle between the lower plane and the specified direction; an eighth processing unit, for calculating, for each vertebra, the difference between the first angle of the vertebra and the second angle of other vertebrae, and obtaining the maximum angle difference between two vertebrae of the target spine; wherein the maximum angle difference is the Cobb angle representing the degree of scoliosis.
[0102] According to another aspect of an embodiment of the present application, an electronic device is provided, including: a processor, and a memory storing a program, wherein the program includes instructions, and when the instructions are executed by the processor, the processor executes the scoliosis detection method of the embodiment of the present application.
[0103] According to another aspect of an embodiment of the present application, a non-transitory machine-readable medium storing computer instructions is provided, where the computer instructions are used to enable a computer to execute the scoliosis detection method of the embodiment of the present application.
[0104] An embodiment of the present application also provides a computer program product, including a computer program, wherein the computer program, when executed by a processor of a computer, is used to enable the computer to execute the scoliosis detection method of the embodiment of the present application.
[0105] refer to Figure 6 , the structural block diagram of the electronic device that can be used as the server or client of the embodiment of the present application will now be described, which is an example of the hardware device that can be applied to various aspects of the present application. The electronic device is intended to represent various forms of digital electronic computer equipment, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices and other similar computing devices. The components shown herein, their connections and relationships, and their functions are only examples, and are not intended to limit the implementation of the present application described and / or required herein.
[0106] like Figure 6As shown, the electronic device includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic device can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0107] Multiple components in the electronic device are connected to the I / O interface 605, including: an input unit 606, an output unit 607, a storage unit 608, and a communication unit 609. The input unit 606 can be any type of device that can input information to the electronic device, and the input unit 606 can receive input digital or character information, and generate key signal input related to user settings and / or function control of the electronic device. The output unit 607 can be any type of device that can present information, and can include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 608 can include but is not limited to a disk, an optical disk. The communication unit 609 allows the electronic device to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and can include but is not limited to a modem, a network card, an infrared communication device, and a wireless communication transceiver, such as a Bluetooth device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0108] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a CPU, a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing units, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above. For example, in some embodiments, the method embodiments of the present application may be implemented as a computer program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be stored in a ROM.
[0109] 602 and / or the communication unit 609 are loaded and / or installed on the electronic device. In some embodiments, the computing unit 601 can be configured to execute the above method in any other appropriate manner (for example, by means of firmware).
[0110] The computer program for implementing the method of the embodiment of the present application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program can be executed entirely on the machine, partially on the machine, partially on the machine as a stand-alone software package and partially on a remote machine, or entirely on a remote machine or server.
[0111] In the context of the present application embodiment, machine-readable medium can be a tangible medium that can contain or store a program for use by an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable signal medium can include but is not limited to electronic, magnetic, optical, electromagnetic, infrared systems, devices or equipment, or any suitable combination of the above. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above.
[0112] It should be noted that the term "including" and its variations used in the embodiments of the present application are open inclusions, that is, "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one other embodiment"; the term "some embodiments" means "at least some embodiments". The modifications of "one" and "multiple" mentioned in the embodiments of the present application are illustrative and not restrictive. Those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".
[0113] The various steps described in the method implementation methods provided in the embodiments of the present application can be performed in different orders and / or in parallel. In addition, the method implementation methods may include additional steps and / or omit the steps shown. The scope of protection of the present application is not limited in this respect.
[0114] The term "embodiment" in this specification refers to specific features, structures or characteristics described in conjunction with the embodiment that can be included in at least one embodiment of the present application. The appearance of this phrase in various places in the specification does not necessarily mean the same embodiment, nor does it mean that it is mutually exclusive with other embodiments and is independent or optional. The various embodiments in this specification are described in a related manner, and the same or similar parts between the various embodiments refer to each other. In particular, for the device, equipment, and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts refer to the partial description of the method embodiment.
[0115] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of patent protection. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the scope of protection of the present application. Therefore, the scope of protection of the present application shall be subject to the attached claims.
Claims
1. A method for detecting scoliosis, characterized in that: include: Acquire a CT image and preprocess the CT image; wherein the CT image includes a first CT image and a second CT image, the first CT image is a CT image corresponding to a standard spine, and the second CT image is a CT image corresponding to a target spine whose scoliosis degree is to be detected; Perform vertebral segmentation on the preprocessed CT image, and convert the segmentation map of each vertebra into a corresponding point cloud map to create a point cloud set; wherein the point cloud set includes a first point cloud set and a second point cloud set, the first point cloud set is a point cloud set corresponding to the standard spine, and the second point cloud set is a point cloud set corresponding to the target spine; Registering the first point cloud set with the second point cloud set; Extracting the point set of the upper and lower planes of each vertebra of the standard spine from the first point cloud set, and obtaining the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after registration based on the point set of the upper and lower planes of each vertebra of the standard spine, to obtain the point set of the upper and lower planes of each vertebra of the target spine; The scoliosis degree of the target spine is detected in different directions according to the point sets of the upper and lower planes of each vertebra of the target spine.
2. The method according to claim 1, characterized in that: Vertebral segmentation is performed on the preprocessed CT images, including: The preprocessed CT image is input into a 3D U-Net model, and the 3D U-Net model outputs a segmentation map of each vertebra; wherein the 3D U-Net model includes an encoder and a decoder, the encoder is used to extract feature data of the image layer by layer, and transmit the features to the decoder through a skip connection, and the decoder is used to restore the spatial resolution of the image layer by layer, and output a segmentation map with the same size as the input image.
3. The method according to claim 1, characterized in that The segmentation map of each vertebra is converted into a corresponding point cloud map, including: The segmentation map of each vertebra is converted into a corresponding point cloud map through point cloud meshing.
4. The method according to claim 1, characterized in that Registering the first point cloud set with the second point cloud set includes: The first point cloud set and the second point cloud set are registered using an iterative closest point method, and the spatial coordinate system of the standard spine is aligned to the spatial coordinate system of the target spine.
5. The method according to claim 4, characterized in that Using an iterative closest point method to register the first point cloud set with the second point cloud set, and aligning the spatial coordinate system of the standard spine to the spatial coordinate system of the target spine, comprising: Initialize the transformation matrix to the identity matrix; In each iteration, the first point cloud set is transformed using the current transformation matrix, and the nearest point in the second point cloud set is found for each transformed point; Calculate the centroid of the nearest point set in the first point cloud set and the second point cloud set, center the point cloud, calculate the covariance matrix of the centered point cloud, perform singular value decomposition on the covariance matrix to obtain the optimal rotation matrix and translation vector; update the transformation matrix, and continue to iterate until a preset maximum number of iterations is reached or the change in the transformation matrix is less than a set tolerance value; A final transformation matrix is output, where the final transformation matrix enables the second point cloud set to be optimally aligned with the first point cloud set.
6. The method according to claim 1, characterized in that According to the point sets of the upper and lower planes of each vertebra of the standard spine, the point sets closest to the upper and lower planes of each vertebra of the standard spine after registration in the second point cloud set are obtained to obtain the point sets of the upper and lower planes of each vertebra of the target spine, including: Using a Top-k search tree, the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after registration is searched according to the point set of the upper and lower planes of each vertebra of the standard spine to obtain the point set of the upper and lower planes of each vertebra of the target spine.
7. The method according to claim 1, characterized in that Extracting point sets of upper and lower planes of each vertebra of the standard spine from the first point cloud set includes: The upper and lower surfaces of all vertebrae in the first point cloud set are searched by a random sampling consistency algorithm to obtain a point set of the upper and lower planes of each vertebra of the standard spine.
8. The method according to claim 7, characterized in that Fitting the upper and lower surfaces of all vertebrae in the first point cloud set by a random sampling consistency algorithm to obtain a point set of the upper and lower planes of each vertebra of the standard spine, including: For each vertebra, randomly select multiple points to fit an initial plane model, calculate the distances from all points in the first point cloud set to the initial plane model, and mark the points whose distances are less than or equal to a preset threshold as inliers; The plane model is updated through multiple iterations, and the number of corresponding inliers in each iteration is recorded, and the plane model with the largest number of inliers is selected as the best fitting plane; The uppermost and lowermost best fitting planes in the first point cloud set are identified, and point sets corresponding to the uppermost and lowermost best fitting planes are extracted as the upper and lower plane point sets of the vertebral body.
9. The method according to claim 1, characterized in that: According to the point sets of the upper and lower planes of each vertebra of the target spine, the scoliosis degree of the target spine is detected in different directions, including: Calculating the normal vectors of the upper and lower planes of each vertebra of the target spine according to the point sets of the upper and lower planes of each vertebra of the target spine; Calculate the angle between the normal vector of the upper and lower planes of each vertebra of the target spine and the specified direction vector, and obtain a first angle between the upper plane of each vertebra of the target spine and the specified direction, and a second angle between the lower plane and the specified direction; For each vertebra, the difference between the first angle of the vertebra and the second angle of other vertebrae is calculated to obtain the maximum angle difference between two vertebrae of the target spine; wherein the maximum angle difference is the Cobb angle indicating the degree of scoliosis.
10. A scoliosis detection system, characterized in that: include: A first processing module is used to obtain a CT image and pre-process the CT image; wherein the CT image includes a first CT image and a second CT image, the first CT image is a CT image corresponding to a standard spine, and the second CT image is a CT image corresponding to a target spine whose scoliosis degree is to be detected; The second processing module is used to perform vertebral segmentation on the preprocessed CT image, and convert the segmentation map of each vertebra into a corresponding point cloud map to create a point cloud set; wherein the point cloud set includes a first point cloud set and a second point cloud set, the first point cloud set is a point cloud set corresponding to the standard spine, and the second point cloud set is a point cloud set corresponding to the target spine; A third processing module, configured to register the first point cloud set with the second point cloud set; a fourth processing module, configured to extract the point set of the upper and lower planes of each vertebra of the standard spine from the first point cloud set, and obtain the point set in the second point cloud set that is closest to the upper and lower planes of each vertebra of the standard spine after registration based on the point set of the upper and lower planes of each vertebra of the standard spine, so as to obtain the point set of the upper and lower planes of each vertebra of the target spine; The fifth processing module is used to detect the scoliosis degree of the target spine in different directions according to the point sets of the upper and lower planes of each vertebra of the target spine.
Citation Information
Cited By
Full-spine three-dimensional imaging method and device and computer equipment
CN120694668A