本发明属于医学图像处理,尤其涉及一种结肠镜息肉大小检测方法及系统。
背景技术:
1、结肠镜是现代医学中用于检测和诊断结肠疾病的重要工具。通过将带有摄像头的柔性管插入直肠,医生可以实时观察结肠内部的情况,并形成连续的视频流。这一技术对于发现结肠内的异常增生组织(如息肉)至关重要,因为及时发现并移除这些组织可以大大降低结肠癌的风险。
2、检测到结肠息肉后,根据直径将其分为:≤5 mm的微小息肉、>5~10 mm的小息肉、>10~20 mm的大息肉、>20 mm的巨大息肉,不同大小的息肉处理方法各异。而结肠息肉的大小检测主要依赖于医生的经验和视觉评估。医生会根据息肉在屏幕上的表现,参照已知尺寸的器械或者结肠壁来进行估计。但是这种方法主观性强和且存在误差,尤其是在视频中缺乏合适的参照物时,难以提供准确的测量结果,错误的结肠息肉的大小估计可能会导致医疗器械的浪费。
3、为了解决这些问题,近年来的研究开始探索自动化的方法来辅助息肉大小的检测。基于结肠镜图像中息肉存在的近大远小的透视现象,早期的一些方法尝试使用预设的距离拍摄图像,在确定的距离中使用固定的缩放倍数乘以画面中息肉的大小来预测息肉的真实大小。或是不使用预设的距离拍摄,而是在结肠镜头上加装激光测距镜头,实时测量位于图像中央的肠壁与镜头的间距,用测得的间距在屏幕中叠加显示一个虚拟刻度尺,医生使用虚拟刻度尺来测量息肉的真实大小。再还有的使用确定大小的参照物如活检钳、水射流,使用深度学习方法来自动比对息肉和参照物,依此来预测息肉的真实大小。然而从实际应用的角度来看,这些方法有的操作不便,有的需要购买额外的镜头,它们仍需要得到进一步改进。
技术实现思路
1、针对上述背景技术中存在的问题,本发明提出了一种结肠镜下结肠息肉大小检测方法及系统。本发明结合了yolov5结肠息肉检测模型和基于depthanything的深度估计模型,不仅能够准确地检测出结肠镜图像中的息肉,还能估计出精准的深度图,随后可以使用息肉边界框和深度图确定肠镜检查中肠壁与镜头的距离,并重建结肠镜图像在真实世界中的三维点云图,计算息肉在点云中的大小,转换为息肉的实际物理尺寸,在手术过程中实时显示。
2、本发明方法,具体包含以下步骤:
3、步骤1:训练yolov5结肠息肉检测模型
4、本发明使用结肠息肉的数据集训练yolov5目标检测模型,该目标检测模型以其高效、准确的特点被广泛应用于目标检测领域。
5、步骤1.1:结肠息肉检测数据集的准备及预处理
6、结肠息肉检测数据集由大量的结肠镜检查视频帧构成,这些视频帧包含大量各种类型的结肠息肉,同时经过了专业标注以标记息肉的存在和位置。标注格式为,其中是边界框中心相对于图像左上角的偏移量,分别是边界框宽度和高度相对于图像宽和高的比例值。
7、对原始视频帧进行尺寸标准化处理,首先裁剪去掉黑边,再用灰度值128填充正方形并使用双线性插值方法缩放到l×l大小,其中l表示输入图像的边长,以适应yolov5模型的要求。最后将数据集随机分为训练集、验证集和测试集三部分。训练集用于模型训练,验证集用于超参数调整,测试集用于评估模型性能。同时,对训练集应用亮度调整、旋转、映射的图像增强技术,以增强模型的鲁棒性。
8、步骤1.2:yolov5结肠息肉检测模型训练过程
9、首先加载yolov5提供的预训练权重作为模型的初始状态,并使用步骤1.1所述训练集训练,模型把特征图用棋盘网格分为个区块,每个区块关联模型输出中的个向量,每个向量都表示一个预测框,其中分别表示预测框相对区块左上角x和y方向上的偏移量,表示预测框的长和宽,表示预测框含有目标的概率,表示预测框类别预测值的独热编码,共有种类别。损失函数:
10、
11、其中表示输出的特征图,不同的特征图的区别在于区块的数量不同;用于平衡每个输出特征图的权重;表示第个特征图的第个区块的第个预测框是否是正样本(与某个真值匹配),如果是正样本则为1,否则为0;为对应项损失函数的权重。
12、
13、为完全交并比损失,分别代表预测框和真实框;表示预测框和真实框中心点的距离,为预测框和真实框最小外接矩形的对角线距离;wg,hg分别代表预测框的宽和高,wp,hp分别代表真实框的宽和高。
14、
15、为目标置信度损失,其中表示二分类交叉熵损失函数,为预测框预测的概率,为预测框和与之对应的真实框的值,表示正样本的权重。
16、
17、为分类置信度损失,其中为交叉熵损失函数,为预测框预测的类别,为真实的类别,表示真实类别的权重。
18、在每个epoch中,模型对训练集中的图像进行预测,并根据损失函数计算损失值,然后反向传播更新权重。此外,还使用验证集上的性能来调整学习率和其他超参数。在训练完成后,保存最佳模型权重,并在测试集上评估模型性能,包括准确率、召回率和map分数等指标。
19、步骤2:训练基于depthanything深度估计模型
20、本发明使用结肠镜深度估计数据集训练了depthanything深度估计模型,并同时使用有标注的虚拟图片和无标注的真实图片进行半监督训练。通过在带真实标签的合成数据上的训练,模型能学习到图像深度的与物理尺寸的尺度信息;在真实临床数据中的自监督学习能进一步优化模型,提升模型对真实环境中复杂条件的理解能力,增强深度估计的稳定性,使其在真实临床环境中表现得更加出色。具体是:
21、步骤2.1:结肠镜深度估计数据集的准备及预处理
22、结肠镜深度估计数据集包括一个有标注的虚拟图片数据集和无标注的真实图片数据集。虚拟图片数据集是公开数据集,一般包括体外假体拍摄的图片或是计算机模拟的图片,数据集会提供镜头内参矩阵与镜头畸变系数。真实图片数据集是一系列从医院获得的无标注结肠镜视频。
23、对于真实临床数据集,需要通过手动标定以得到内窥镜的镜头内参矩阵与镜头畸变系数。首先准备具有已知尺寸和角点数量的黑白棋盘格,然后将此标定图案放置在不同位置和角度下,使用待标定的内窥镜头从多个视角拍摄包含标定图案的多幅图像,最后运用opencv库求解出内窥镜的镜头内参矩阵以及镜头畸变系数。
24、数据预处理部分包括:如果数据为视频,则筛除视频模糊帧,保留相对优质的部分,然后拆分为图片,并使用镜头内参矩阵与镜头畸变系数对图片进行鱼眼镜头矫正。输入图片除以255来缩放到范围内;虚拟图片的深度真值分布在毫米,除以来缩放到范围内。最后去除畸变的输入图片和虚拟图片的深度真值被双线性插值统一缩放到像素。
25、步骤2.2:在有标注的虚拟图片数据集上训练depthanything深度估计模型
26、在有标注的虚拟图片数据集上训练depthanything深度估计模型,将该模型称为teacher模型。模型输入图像维度为,模型输出维度为,损失函数:
27、
28、步骤2.3:训练depthanything光照调整模型
29、本发明使用了传统的针孔像机模型,相机位于世界坐标系的原点并看向z轴负方向、x轴水平向左、y轴垂直指向地面,相机内参矩阵定义为,将世界坐标系下的点定义为,并通过映射到像素坐标。
30、首先使用镜头标定得到的参数为输入帧去除畸变,并将处理后的图像缩放到大小,再使用训练好的teacher模型预测其深度图,然后使用以下公式将中代表深度值的像素恢复为世界坐标系下的点云:
31、
32、其中,对于像素坐标是的像素,表示其世界坐标,表示其距镜头的距离(深度值)。
33、得到点云后,根据以下公式计算图像的逐像素光影(per-pixel shading, pps):
34、
35、
36、其中为内窥镜的共位光的坐标,为光照方向,为光照的角衰减系数。图像的逐像素光影展示了仅在镜头共位光的照射下,结肠镜图像应有的亮度。
37、训练depthanything光照调整模型,真实图像的灰度图与其深度图在通道维度的拼接结果为,将的边长双线性插值降采样四倍变为来作为模型输入,模型预测一个对真实图像的灰度图的修正,再双线性插值上采样四倍得到,损失函数:
38、
39、训练完成后使用训练好的depthanything光照调整模型来预测真实图像的灰度图,得到并保存结果以用于后续模型的训练。
40、步骤2.4:同时使用虚拟图片和真实图片数据集训练depthanything深度估计模型
41、同时使用虚拟图片和真实图片数据集训练depthanything深度估计模型,将该模型称为student模型。模型输入图像维度为,模型输出维度为,当输入为虚拟图像时,损失函数为:
42、
43、当输入为真实图像时,损失函数为:
44、
45、其中是输入式所得。
46、步骤3:使用训练好的yolov5结肠息肉检测模型和student模型检测息肉大小
47、本发明联合使用步骤1训练好的yolov5结肠息肉检测模型和步骤2训练好的student模型检测息肉大小。
48、对于输入图像帧首先使用步骤2.1镜头标定所得内窥镜的镜头内参矩阵以及镜头畸变系数进行镜头矫正,再除以来缩放到范围内,最后使用双线性插值缩放到像素,记为。
49、将输入yolov5结肠息肉检测模型,得到图片中结肠息肉边界框矩阵,其中包含了个结肠息肉的边界框向量,这四个值都在间,其中是边界框中心相对于图像左上角的偏移量,分别是边界框宽度和高度相对于图像宽和高的比例值。
50、将输入student模型,得到该图片的深度图,使用公式将中代表深度值的像素恢复为世界坐标系下的点云,其中上标表示三个坐标轴,表示总共有个点。
51、对于中的每一个结肠息肉的边界框向量,计算边界框四条边的中点坐标,然后取出在中的坐标。计算的,其中与分别表示在方向上的最大值与最小值,与分别表示在方向上的最大值与最小值,最后息肉的大小表示为。
52、基于上述方法步骤的构思,本发明还提供了一种结肠镜下结肠息肉大小检测系统,包括:
53、第一训练模块,使用结肠息肉的数据集训练yolov5目标检测模型,获得yolov5结肠息肉检测模型;
54、第二训练模块,使用结肠镜深度估计数据集训练了depthanything深度估计模型,并同时使用有标注的虚拟图片和无标注的真实图片进行半监督训练,获得student模型;
55、检测模块,联合使用训练好的yolov5结肠息肉检测模型和训练好的student模型检测息肉大小。
56、本发明的有益效果如下:本发明结合了yolov5结肠息肉检测模型和depthanything深度估计模型,实现了息肉的精准定位和尺寸测量。该方法能够自动检测息肉并估计其实际物理尺寸,提高了图像识别的准确性,避免了传统方法中由于缺乏参照物而导致的测量误差。此外,该技术方案轻量化,可即时部署,无需额外设备支持,简化了操作流程,降低了成本,助于早期发现并处理可能导致癌症的病变组织。