基于机器学习的腰椎病变医学图像检测系统设计与实现一
关于腰椎病变
本次的任务主要是针对腰椎的滑脱进行辅助诊断,算是腰椎病变的一种。而腰椎的滑脱主要表现为上位椎体和下位椎体的错位。
按照错位程度的不同,可以将腰椎病变的等级进行不同的划分。这里腰椎滑脱常用的Meyerding分级,在论文Spondylosisthesis中,梅耶丁医生降腰椎滑脱分成了四个等级。也就是下图看到的,将下位椎体分成了四个等份,之后按照上位椎体后缘所偏移的位置来判断
在原论文中,梅耶丁医生还提出在横向X光片拍摄下,“应仔细检查椎管部位,在那里更容易发现微小的位移”。如下图所示,在不同腰椎滑脱的位置,椎管(图中黑色部位)的间隙会明显小于其他正常的位置,同时,伴随着不同程度的挤压和偏移
检测方法
目前常用的检测方法,即Meyerding分级法,但是有赖于影像科医生对X光片或者MRI相片进行观察和标注,非常耗时耗力
系统设计思路
本次的系统设计思路就是通过训练一个神经网络,来对MRI相片或者X光片进行自动识别。
参考项目:吖吖查【腰椎辅助诊断系统之滑脱定位并分级(基于PaddleSeg语义分割)】
环境准备
针对MRI像片
- 训练配置
| 训练框架 | PaddlePaddle |
|---|---|
| 训练模型 | Segmenter |
| 数据集 | 第二届CSIG核磁共振数据集 |
| 显卡 | V100 |
- 训练环境部署
| 包名 | 版本 |
|---|---|
| paddle | paddlepaddle-gpu 2.1.2.post112 |
| paddleseg | 2.8.0 |
| visualdl | 2.5.0 |
| opencv-python | 4.5.2.54 |
| protobuf | 3.20.0 |
- 本地推理环境部署
| 包名 | 版本 |
|---|---|
| paddle | paddlepaddle 2.5.2 |
| paddleseg | 2.8.0 |
| visualdl | 2.5.3 |
| opencv-python | 4.5.2.54 |
| protobuf | 3.20.2 |
| Flask | 2.2.5 |
| Flask-WTF | 1.1.1 |
| Flask-SQLAlchemy | 3.0.5 |
| Flask-Bootstrap | 3.3.7.1 |
| Flask-Login | 0.6.3 |
| Flask-Mail | 0.9.1 |
| WTForms | 3.0.1 |
两个环境都不用装torch
针对X光片
-
训练配置、两个环境都和上面的相同
-
数据集标注labelme。【labelme安装和标注使用】这里点击
浙公网安备 33010602011771号