Disclosure of Invention
The embodiment of the application provides an acetabular rotation center calculating method, an acetabular rotation center calculating device, acetabular rotation center calculating equipment and a computer readable storage medium, which can calculate the acetabular rotation center quickly and accurately.
In a first aspect, an embodiment of the present application provides a method for calculating an acetabular rotation center, including:
acquiring hip joint CT data;
Performing femur and pelvis segmentation on the hip joint CT data to obtain femur segmentation results and pelvis results;
positioning the femoral head position according to the femur segmentation result;
positioning an acetabular position;
Collecting acetabulum points;
based on the acetabulum position and the acetabulum point, adding an acetabulum acquisition point;
Inputting an acetabulum acquisition point into a preset acetabulum center identification network model, and outputting an acetabulum rotation center and a radius; the acetabulum center identification network model is obtained through model training based on an acetabulum center identification network.
Optionally, the data acquisition includes:
the method comprises the steps of collecting CT data of the hip joint, coordinates of an acetabular point, coordinates and radius of an acetabular rotation center.
Optionally, the femur and pelvis segmentation is performed on the hip joint CT data, including:
And (3) performing femur and pelvis segmentation on the hip joint CT data by using a 2D segmentation algorithm or a 3D segmentation algorithm.
Optionally, locating the femoral head position according to the femur segmentation result includes:
the area where the top of the femoral region was located 30 layers down was determined to be the femoral head position.
Optionally, increasing the acetabular acquisition points based on the acetabular position and the acetabular point includes:
For each acquired point, searching for a point on the acetabulum within the radius r=5mm by taking the point as a sphere center;
when the points in the radius range exceed 100 points, downsampling to 100 points;
When the points in the radius range are smaller than 100 points, increasing the searching radius until the points in the searching radius exceed 100 points;
The number of point sets after increasing the acquisition points is 1000 points.
Optionally, in the acetabular center identification network, for input n×3 data, the network firstly extracts features through Transform, maps the features to a 64-dimensional space through an MLP structure, and finally maps the features to a 1024-dimensional space;
Through the operation of maximum pooling, only the largest one of all 1024-dimensional channels is reserved, and the obtained vector of 1×1024 is the global feature of N point clouds;
For regression, this global feature is directly passed through the MLP to output the acetabular rotation center coordinates and radius.
Optionally, the MLP structure comprises three layers: the input layer, the hidden layer and the output layer are fully connected among different layers of the MLP neural network; forward propagation of MLP requires addition of an activation function;
The weight update uses a gradient descent method: the weight is updated along the negative direction of the gradient, so that the function value is reduced; the gradient refers to a vector, and the direction is the direction in which the derivative of the direction takes the maximum value;
Learning rate: set to 0.0001;
the loss function uses an L2 regularized loss function.
In a second aspect, an embodiment of the present application provides an acetabular rotation center calculating device, including:
The data acquisition module is used for acquiring CT data of the hip joint;
the skeleton segmentation module is used for carrying out femur and pelvis segmentation on the hip joint CT data to obtain a femur segmentation result and a pelvis result;
the femoral head position positioning module is used for positioning the femoral head position according to the femur segmentation result;
the acetabulum position positioning module is used for positioning the acetabulum position;
The acetabular point acquisition module is used for acquiring acetabular points;
the acetabulum acquisition point augmentation module is used for augmenting the acetabulum acquisition points based on the acetabulum positions and the acetabulum points;
The acetabulum rotation center and radius module is used for inputting an acetabulum acquisition point into a preset acetabulum center identification network model and outputting an acetabulum rotation center and radius; the acetabulum center identification network model is obtained through model training based on an acetabulum center identification network.
In a third aspect, an embodiment of the present application provides an electronic device, including: a processor and a memory storing computer program instructions;
The processor, when executing the computer program instructions, implements the acetabular center of rotation calculation method as shown in the first aspect.
In a fourth aspect, embodiments of the present application provide a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement an acetabular centre of rotation calculation method as described in the first aspect.
The method, the device, the equipment and the computer readable storage medium for calculating the rotation center of the acetabulum can calculate the rotation center of the acetabulum quickly and accurately.
The acetabulum rotation center calculating method comprises the following steps: acquiring hip joint CT data; performing femur and pelvis segmentation on the hip joint CT data to obtain femur segmentation results and pelvis results; positioning the femoral head position according to the femur segmentation result; positioning an acetabular position; collecting acetabulum points; based on the acetabulum position and the acetabulum point, adding an acetabulum acquisition point; inputting an acetabulum acquisition point into a preset acetabulum center identification network model, and outputting an acetabulum rotation center and a radius; the acetabulum center identification network model is obtained through model training based on an acetabulum center identification network.
Detailed Description
Features and exemplary embodiments of various aspects of the present application will be described in detail below, and in order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be described in further detail below with reference to the accompanying drawings and the detailed embodiments. It should be understood that the particular embodiments described herein are meant to be illustrative of the application only and not limiting. It will be apparent to one skilled in the art that the present application may be practiced without some of these specific details. The following description of the embodiments is merely intended to provide a better understanding of the application by showing examples of the application.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The traditional calculation method of the rotation center of the acetabulum is marked by a professional doctor with years of clinical experience, or a certain number of points are acquired in the acetabulum, and a traditional spherical fitting algorithm is adopted, such as: the method is obtained by calculation of a least square method, an iterative closest point algorithm, a RANSAC algorithm and the like, and is large in calculation error, low in precision and low in working efficiency.
To solve the problems in the prior art, embodiments of the present application provide a method, an apparatus, a device, and a computer-readable storage medium for calculating an acetabular rotation center. The following first describes an acetabular rotation center calculation method according to an embodiment of the application.
Fig. 1 is a flow chart of an acetabular rotation center calculation method according to an embodiment of the application. As shown in fig. 1, the acetabular rotation center calculating method includes:
s101, acquiring hip joint CT data;
in one embodiment, data acquisition includes:
the method comprises the steps of collecting CT data of the hip joint, coordinates of an acetabular point, coordinates and radius of an acetabular rotation center.
A schematic of the coordinates of the acetabular points is shown in fig. 3.
S102, performing femur and pelvis segmentation on hip joint CT data to obtain femur segmentation results and pelvis results;
In one embodiment, the segmentation of the femur, pelvis, on hip CT data, comprises:
And (3) performing femur and pelvis segmentation on the hip joint CT data by using a 2D segmentation algorithm or a 3D segmentation algorithm.
Specifically, the hip joint data is segmented to obtain the pelvis and femur. The segmentation algorithm may use a 2D segmentation algorithm or a 3D segmentation algorithm, such as a 2D-unet or 3D-unet network.
S103, positioning the position of the femoral head according to the femur segmentation result;
in one embodiment, locating the femoral head position based on the femoral segmentation results includes:
the area where the top of the femoral region was located 30 layers down was determined to be the femoral head position.
Specifically, according to the femur area obtained by segmentation, the femoral head position is determined, wherein the femoral head position is the area where the top position of the femur area is located in 30 layers downwards, and the 30 layers are empirical values for analyzing a plurality of CT data.
S104, positioning the acetabulum position;
specifically, according to the determined femoral head region position, a pelvic contact region, namely an acetabular region, is selected.
S105, collecting acetabulum points;
S106, based on the acetabulum position and the acetabulum points, increasing the acetabulum acquisition points;
in one embodiment, increasing the acetabular acquisition points based on the acetabular position and the acetabular point comprises:
For each acquired point, searching for a point on the acetabulum within the radius r=5mm by taking the point as a sphere center;
when the points in the radius range exceed 100 points, downsampling to 100 points;
When the points in the radius range are smaller than 100 points, increasing the searching radius until the points in the searching radius exceed 100 points;
The number of point sets after increasing the acquisition points is 1000 points.
Specifically, in the data acquisition stage, a certain number of point sets are acquired in a selected acetabular region, wherein the acquired point sets are fewer (10 points), so that the acquired acetabular point sets need to be amplified, the amplification method is to search points on the acetabulum with a radius r=5mm by taking each acquired point as a sphere center, downsampling to 100 points when the points in the radius exceeds 100 points, and increasing the search radius until the points in the search radius exceeds 100 points when the points in the radius exceeds 100 points, so that the number of the point sets after the acquisition points is increased to 1000 points. After adding the data points, a 3-dimensional data point cloud is formed. A schematic of the addition of an acetabular harvest site is shown in fig. 4.
According to the method, fewer collected acetabulum points form a three-dimensional data point cloud in an augmentation mode, the problem that the data are fewer and cannot be used for neural network training is solved, and then the method can be used for obtaining center point coordinates and radiuses of acetabulum through the neural network training of the point cloud data.
S107, inputting an acetabulum acquisition point into a preset acetabulum center identification network model, and outputting an acetabulum rotation center and a radius; the acetabulum center identification network model is obtained through model training based on an acetabulum center identification network.
In one embodiment, in the acetabular center identification network, for input n×3 data, the network firstly extracts features through Transform, maps the features to a 64-dimensional space through an MLP structure, and finally maps the features to a 1024-dimensional space;
Through the operation of maximum pooling, only the largest one of all 1024-dimensional channels is reserved, and the obtained vector of 1×1024 is the global feature of N point clouds;
For regression, this global feature is directly passed through the MLP to output the acetabular rotation center coordinates and radius.
Specifically, for the acetabular rotation center and radius identification network, the structure is as follows, input data is in a three-dimensional coordinate point data format of n×3, where N represents the number of points 1000, and output is [ X, Y, Z, R ], where X, Y, Z represents the acetabular rotation center coordinates, R represents the acetabular radius, and the network structure is shown in fig. 5.
In the acetabular center identification network, for input n×3 data, features are extracted by a Transform, mapped onto a 64-dimensional space by an MLP structure, and finally mapped onto a 1024-dimensional space by the network. At this time, there is a 1024-dimensional vector representation for each point, and such vector representation is obviously redundant for a 3-dimensional point cloud, so that the maximum pooling operation is introduced at this time, only the largest one of all 1024-dimensional channels is reserved, and the resulting 1×1024 vector is the global feature of the N point clouds. For regression, this global feature is directly passed through the MLP to output the acetabular rotation center coordinates and radius.
In one embodiment, the MLP structure includes three layers: the input layer, the hidden layer and the output layer are fully connected among different layers of the MLP neural network; forward propagation of MLP requires addition of an activation function; the weight update uses a gradient descent method: the weight is updated along the negative direction of the gradient, so that the function value is reduced; the gradient refers to a vector, and the direction is the direction in which the derivative of the direction takes the maximum value;
Learning rate: set to 0.0001;
the loss function uses an L2 regularized loss function.
Specifically, the MLP structure includes three layers: the input layer, the hidden layer and the output layer are fully connected among different layers of the MLP neural network. Forward propagation of MLP requires the addition of an activation function, since the network would actually degrade into a single layer network if there were no activation function.
The weight update uses a gradient descent method (GRADIENT DECENT): the weights are updated in the negative direction of the gradient, so that the function value is reduced. Gradient refers to a vector, the direction being the direction in which the directional derivative takes the maximum.
Learning rate (LEARNING RATE) is set to 0.0001.
The loss function uses an L2 regularized loss function:
Fig. 6 is a schematic structural view of an acetabular rotation center calculating device according to an embodiment of the application, the acetabular rotation center calculating device including:
A data acquisition module 601, configured to acquire hip CT data;
The bone segmentation module 602 is used for performing femur and pelvis segmentation on the hip joint CT data to obtain a femur segmentation result and a pelvis result;
the femoral head position positioning module 603 is used for positioning the femoral head position according to the femur segmentation result;
an acetabular position locating module 604 for locating an acetabular position;
an acetabular point acquisition module 605 for acquiring acetabular points;
An acetabular acquisition point augmentation module 606 for augmenting an acetabular acquisition point based on the acetabular position and the acetabular point;
The acetabulum rotation center and radius module 607 is used for inputting the acetabulum acquisition point into a preset acetabulum center identification network model and outputting the acetabulum rotation center and radius; the acetabulum center identification network model is obtained through model training based on an acetabulum center identification network.
Fig. 7 shows a schematic structural diagram of an electronic device according to an embodiment of the present application.
The electronic device may include a processor 701 and a memory 702 storing computer program instructions.
In particular, the processor 701 may comprise a Central Processing Unit (CPU), or an Application SPECIFIC INTEGRATED Circuit (ASIC), or may be configured as one or more integrated circuits that implement embodiments of the present application.
Memory 702 may include mass storage for data or instructions. By way of example, and not limitation, memory 702 may include a hard disk drive (HARD DISK DRIVE, HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or universal serial bus (Universal Serial Bus, USB) drive, or a combination of two or more of the foregoing. The memory 702 may include removable or non-removable (or fixed) media, where appropriate. The memory 702 may be internal or external to the electronic device, where appropriate. In a particular embodiment, the memory 702 may be a non-volatile solid state memory.
In one embodiment, memory 702 may be Read Only Memory (ROM). In one embodiment, the ROM may be mask-programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically Erasable PROM (EEPROM), electrically rewritable ROM (EAROM), or flash memory, or a combination of two or more of these.
The processor 701 implements any of the acetabular rotation center calculation methods of the above embodiments by reading and executing computer program instructions stored in the memory 702.
In one example, the electronic device may also include a communication interface 703 and a bus 710. As shown in fig. 7, the processor 701, the memory 702, and the communication interface 703 are connected by a bus 710 and perform communication with each other.
The communication interface 703 is mainly used for implementing communication between each module, device, unit and/or apparatus in the embodiment of the present application.
Bus 710 includes hardware, software, or both that couple components of the electronic device to one another. By way of example, and not limitation, the buses may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an infiniband interconnect, a Low Pin Count (LPC) bus, a memory bus, a micro channel architecture (MCa) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a video electronics standards association local (VLB) bus, or other suitable bus, or a combination of two or more of the above. Bus 710 may include one or more buses, where appropriate. Although embodiments of the application have been described and illustrated with respect to a particular bus, the application contemplates any suitable bus or interconnect.
In addition, in combination with the acetabular rotation center calculating method in the above embodiment, an embodiment of the application may be implemented by providing a computer-readable storage medium. The computer readable storage medium has stored thereon computer program instructions; the computer program instructions, when executed by a processor, implement any of the acetabular rotation center calculation methods of the above embodiments.
It should be understood that the application is not limited to the particular arrangements and instrumentality described above and shown in the drawings. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and shown as examples. The method processes of the present application are not limited to the specific steps described and shown, but various changes, modifications and additions, or the order between steps may be made by those skilled in the art after appreciating the spirit of the present application.
The functional blocks shown in the above-described structural block diagrams may be implemented in hardware, software, firmware, or a combination thereof. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, a plug-in, a function card, or the like. When implemented in software, the elements of the application are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine readable medium or transmitted over transmission media or communication links by a data signal carried in a carrier wave. A "machine-readable medium" may include any medium that can store or transfer information. Examples of machine-readable media include electronic circuitry, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio Frequency (RF) links, and the like. The code segments may be downloaded via computer networks such as the internet, intranets, etc.
It should also be noted that the exemplary embodiments mentioned in this disclosure describe some methods or systems based on a series of steps or devices. The present application is not limited to the order of the above-described steps, that is, the steps may be performed in the order mentioned in the embodiments, or may be performed in a different order from the order in the embodiments, or several steps may be performed simultaneously.
Aspects of the present application are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions/acts specified in the flowchart and/or block diagram block or blocks. Such a processor may be, but is not limited to being, a general purpose processor, a special purpose processor, an application specific processor, or a field programmable logic circuit. It will also be understood that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware which performs the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In the foregoing, only the specific embodiments of the present application are described, and it will be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the systems, modules and units described above may refer to the corresponding processes in the foregoing method embodiments, which are not repeated herein. It should be understood that the scope of the present application is not limited thereto, and any equivalent modifications or substitutions can be easily made by those skilled in the art within the technical scope of the present application, and they should be included in the scope of the present application.