一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于VITDET类算法的腹腔镜病变目标检测方法与流程

2022-12-20 01:29:19 来源:中国专利 TAG:

基于vitdet类算法的腹腔镜病变目标检测方法
技术领域
1.本发明涉及医学类计算机跨学科领域和人工智能计算机视觉算法设计领域,具体涉及一种基于vitdet类算法的腹腔镜病变目标检测方法。


背景技术:

2.医疗器械市场是现如今全球经济中发展最快、国际贸易往来最为活跃的市场之一,而腹腔镜市场是全球医疗器械市场中增长较快的一类。虽然腹腔镜的先前市场主要在欧洲和北美,但是近几年来,随着国内经济水平的提高和医疗体系的完善,国内医疗器械市场得到蓬勃发展,其中腹腔镜设备的需求量大大增加。
3.腹腔镜与胃镜、结肠镜类似,是一种带有光源和微型摄像头的医疗器械,属于三类医疗器械。其整套设备包括腹腔镜、能源系统、光源系统、灌流系统、成像系统以及常用的腹腔镜手术器械(如穿刺针、套管针、分离钳、电凝钩及电凝棒、施夹器、钛夹、剪刀、持针器、圈套器等),主要用于普通外科、妇科外科和其他外科手术。在腹腔镜手术中,医生通过患者腹部很小的创口将腹腔镜送入腹腔内,腹腔镜的摄像头就可以回传患者腹腔内部情况到录像监视系统的监视器上供医生检查和手术操作。相对于传统的开腹手术,腹腔镜手术具有创伤小、术后疼痛轻,恢复快,美观等优点。因此在临床术式的选择中广受医生和患者的青睐。
4.近年来,ai领域的计算机视觉(cv)方向的发展迅速,目标检测更是cv中的主要研究领域之一。随着计算机技术的发展,人工智能(ai)在内镜领域被广泛研究,如用于基于腹腔镜的异常肿瘤部位识别。计算机辅助诊断的一个主要作用是帮助腹腔镜师区分肿瘤性病变和非肿瘤性病变,多项研究已经证明ai系统在早期肿块定性诊断中的潜力。此外,人工智能系统的诊断准确性也与经验丰富的医师进行了比较,被证明可以达到可比的性能。基于目标检测的算法能够对腹腔镜数据实现八肿块靶区定位与注释,自动框选重要目标,及时提示医生病灶范围。
5.然而,目前针对腔镜数据的目标检测算法还存在一些问题。首先,从检测算法看,目前针对腹腔镜数据的处理方案算法还处在尝试初级阶段,因此性能还很一般;其次,医学图形通常存在较大噪声,从而无法直接使用原始数据,但目前只有少量工作来处理腹腔镜数据噪声。数据和模型作为计算机辅助医疗任务的两大支撑,上述问题会直接阻碍计算机视觉在腹腔镜中的应用,因此还需要做更进一步的技术改进。


技术实现要素:

6.为了克服背景技术的不足,本发明提供一种基于vitdet类算法的腹腔镜病变目标检测方法。
7.本发明所采用的技术方案:一种基于vitdet类算法的腹腔镜病变目标检测方法,包括如下步骤:
8.步骤1、收集腹腔镜手术的视频与图片,并对视频和图片进行标注,得到腹腔镜检测数据库,数据库中的数据包括训练用的训练集数据和测试用的测试集数据
9.步骤2、使用直方图均衡算法对数据库内的数据做预处理;
10.步骤3、对预处理后的数据进行不失真的修改尺寸;
11.步骤4、构建一个基于vitdet类算法的腹腔镜图像目标检测网络,其具体步骤包括:
12.4.1、利用vitdet类算法的骨干网络swin-transformer提取数据特征;
13.4.2、利用注意力机制对骨干网络vit得到的特征优化,以获得更有效底层特征;
14.4.3、通过特征金字塔pannet获得用于最后检测任务的深层支路特征;
15.4.4、使用yolo head对获得的特征处理,获得最后的预测结果;
16.4.5、对预测结果解码,并计算损失函数;
17.4.6、在原图绘制出检测结果边框;
18.步骤5、将步骤1-3获得的训练集数据输入到目标检测网络中,用于训练目标检测网络,得到目标检测网络模型并保存;
19.步骤6、将步骤1-3获得的测试集数据输入到目标检测网络模型中,通过目标检测网络模型检测是否有病变目标区域,测试目标检测网络模型;
20.步骤7、将目标检测网络模型部署到gpu模块上用于检测客户端传输的图片,并把检测结果返还至交互界面。
21.其中,步骤4.1具体包括如下步骤:
22.4.1.1、先对特征图做norm;
23.4.1.2、通过shift_size参数决定是否需要对特征图进行shift操作;
24.4.1.3、将特征图进行窗口划分;
25.4.1.4、计算attention,通过attn_mask来区分是window attention还是shift window attention,用于限制attention中每个位置能看到的内容;
26.4.1.5、合并各个窗口;
27.4.1.6、如果之前做了shift操作,则进行reverse shift,将之前的shift操作进行恢复;
28.4.1.7、droppath和残差链接;
29.4.1.8、再通过一层norm 全连接层,以及droppath和残差连接。
30.步骤4.4中,yolo head由卷积层和最大池化层还有下采样层组成,其特征处理具体包括如下步骤:
31.4.4.1、提取骨干网络中特征图尺寸为13
×
13、26
×
26、52
×
52的特征图支路作为yolo head的输入;
32.4.4.2、在这三条支路上做卷积池下采样的操作,顺序是从13
×
13深层到52
×
52再到13
×
13深层的多次处理结构;
33.4.4.3、yolo head通过全连接层操作得到三条支路的目标类别预测结果和检测框位置。
34.步骤4.5中,损失函数的具体计算方法如下:
35.4.5.1、首先通过将相应距离值之间的所有欧几里得距离的平方相加,计算非重叠面积s,具体公式为:
36.s=(l
*-l)2 (t
*-t)2 (r
*-r)2 (b
*-b)2,
37.其中,{l,t,r,b}和{l
*
,t
*
,r
*
,b
*
}分别是预测和真实标签的边框中心点坐标真相差异,l和t指从右下角到左和上边界的距离,r和b指从左上角到右和下边界的距离;
38.真实框的{l
*
,t
*
,r
*
,b
*
}计算公式如下:
[0039][0040][0041][0042]
w(i)=w/si,
[0043]
h(i)=h/si,
[0044]
其中,i表示本文的不同的3个尺度,si={8,16,32},(x,y)为真值框的中心点坐标,和表示比例i处左上角和右下角的各自坐标,表示比例i处左上角和右下角的各自坐标,和表示中心位置左上角和右下角的各自坐标;
[0045]
预测框的{l,t,r,b}计算公式如下:
[0046][0047]
其中,σ表示sigmoid函数,p0,p1,p2,p3表示网络对距离值的预测,使用sigmoid保证他们在[0,1]之间,i={1,2,4};
[0048]
4.5.2、通过计算相交区域对角线长度的平方来获得相交区域i,具体公式为:
[0049]
i=(wi)2 (hi)2,
[0050]
其中,wi和hi分别表示交叉区域的宽度和高度;
[0051]
4.5.3、通过长和宽计算覆盖预测和真实框的最小区域c,具体公式为:c=(wc)2 (hc)2,
[0052]
其中,wc和hc分别覆盖预测和真实框的最小区域的宽度和高度,wc=max(l
*
,l) max(r
*
,r)-1,hc=max(t
*
,t) max(b
*
,b)-1;
[0053]
4.5.4、通过最小化c,预测框可以向朝向真实框移动4个方向,最终将sdiou计算为
其中ρ表示有利于重叠区域的正权衡值,最终定义sdiou损失为loss=1-sdiou。
[0054]
步骤2中,直方图均衡算法的具体步骤如下:
[0055]
2.1、依次扫描原始灰度图像的每一个像素,计算出图像的灰度直方图;
[0056]
2.2、计算灰度直方图的累积分布函数;
[0057]
2.3、根据累积分布函数和直方图均衡化原理得到输入与输出之间的映射关系;
[0058]
2.4、最后根据映射关系得到结果进行图像变换。
[0059]
步骤3中,不失真的修改尺寸方法为:首先对原始图按比例缩放,然后对不满足尺寸要求的部分加上灰度条
[0060]
本发明的有益效果是:
[0061]
1、在实际手术操作过程中,将提取到的关键手术要素和手术安全模型进行计算匹配,手术过程中实时计算,并以图文形式是进行提示,有效的辅助外科医生提高手术安全性;
[0062]
2、建基于vitdet类算法的腹腔镜图像目标检测网络,vitdet类算法是一种表现更优的目标检测模型,能够获得更好的目标检测效果,确保能够正确指示解剖位置,引导手术操作,提示术中可能存在的风险,降低手术损伤的概率;
[0063]
3、基于直方图均衡算法的颜色处理方法,让模型对光照的影响更具有鲁棒性,能够克服使用多源设备的导致的数据的颜色差异伪影干扰,能对缓解腹腔镜实际场景中的内窥镜光度畸变,如光线明暗度变化和光照强度,还有红光等问题,有效减少数据噪声,有效提高检测模型的检测性能。
附图说明
[0064]
图1为本发明实施例的流程示意图。
具体实施方式
[0065]
一种基于vitdet类算法的腹腔镜病变目标检测方法,包括如下步骤:
[0066]
步骤1、收集腹腔镜手术的视频与图片,并使用cvat对视频和图片进行标注,得到腹腔镜检测数据库,数据库中的数据包括训练用的训练集数据和测试用的测试集数据。
[0067]
步骤2、使用直方图均衡算法对数据库内的数据做预处理,其具体步骤如下:
[0068]
2.1、依次扫描原始灰度图像的每一个像素,计算出图像的灰度直方图;
[0069]
2.2、计算灰度直方图的累积分布函数;
[0070]
2.3、根据累积分布函数和直方图均衡化原理得到输入与输出之间的映射关系;
[0071]
2.4、最后根据映射关系得到结果进行图像变换。
[0072]
上述数据颜色处理方法,能让模型对光照的影响更具有鲁棒性,能够克服使用多源设备的导致的数据的颜色差异伪影干扰,能对缓解腹腔镜实际场景中的内窥镜光度畸变,如光线明暗度变化和光照强度,还有红光等问题,有效减少数据噪声,有效提高检测模型的检测性能。
[0073]
步骤3、对预处理后的数据进行不失真的修改尺寸,具体方法为:首先对原始图按
比例缩放,然后对不满足尺寸要求的部分加上灰度条。
[0074]
将输入的图像进行统一修改尺寸,能够使得图像顺利进入后续深度神经网络完成模型的特征提取,采用上述不失真的尺寸处理方法不会破坏原始数据特征,保证原始数据不发生形变。
[0075]
步骤4、构建一个基于vitdet类算法的腹腔镜图像目标检测网络,其具体步骤包括:
[0076]
4.1、利用vitdet类算法的骨干网络swin-transformer提取数据特征;
[0077]
4.2、利用注意力机制对骨干网络vit得到的特征优化,以获得更有效底层特征;
[0078]
4.3、通过特征金字塔pannet获得用于最后检测任务的深层支路特征;
[0079]
4.4、使用yolo head对获得的特征处理,获得最后的预测结果:
[0080]
4.5、对预测结果解码,并计算损失函数;
[0081]
4.6、在原图绘制出检测结果边框。
[0082]
步骤4.1具体包括如下步骤:
[0083]
4.1.1、先对特征图做norm;
[0084]
4.1.2、通过shift_size参数决定是否需要对特征图进行shift操作;
[0085]
4.1.3、将特征图进行窗口划分;
[0086]
4.1.4、计算attention,通过attn_mask来区分是window attention还是shift window attention,用于限制attention中每个位置能看到的内容;
[0087]
4.1.5、合并各个窗口;
[0088]
4.1.6、如果之前做了shift操作,则进行reverse shift,将之前的shift操作进行恢复;
[0089]
4.1.7、droppath和残差链接;
[0090]
4.1.8、再通过一层norm 全连接层,以及droppath和残差连接。
[0091]
把数据放入基于vit的swin-transformer来提取特征,通过四个stage构建不同大小的特征图,其中一个stage先通过一个linear embeding层,然后重复堆叠swin transformer block,剩下三个stage则先通过一个patch merging层进行下采样,然后重复堆叠swin transformer block。其中,所述swin transformer block包含两种结构,其中一个swin transformer block使用w-msa结构,另外一个swin transformer block使用sw-msa结构,两个swin transformer block成对使用。
[0092]
另外,引入windows multi-head self-attention(w-msa)模块是为了减少计算量。从而能够构建更深层的网络。同时,成对出现的sw-msa也很重要,通过根据窗口发生的偏移,能偏使得之前的临近窗口之间进行交流,这就解决了不同窗口之间无法进行信息交流的问题。另外,为了防止将不同的区域合并在一起导致信息混淆的问题,在实际计算中使用的是masked msa,通过设置蒙板隔绝其他区域的信息,使得每个像素只与自己所在区域的像素进行计算,从而解决了这个问题。
[0093]
建基于vitdet类算法的腹腔镜图像目标检测网络,vitdet类算法是一种表现更优的目标检测模型,能够获得更好的目标检测效果,确保能够正确指示解剖位置,引导手术操作,提示术中可能存在的风险,降低手术损伤的概率。
[0094]
步骤4.2与步骤4.3对骨干网络部分的特征取特定支路特征层处理,包含ssp和
panet。ssp作为vitdet类网络的加强特征提取网络中的第一部分,不仅能将更多不同分辨率的特征进行融合,以获得更多相关信息;而且可以极大地增加感受野,从而从骨干特征中分离出最显著的上下文特征。panet是vitdet类网络的加强特征提取网络中的第二部分,包含了卷积上下采样的处理机制,通过反复采样,能够得到用于检测的更有效特征。
[0095]
步骤4.4中,yolo head由卷积层和最大池化层还有下采样层组成,其特征处理具体包括如下步骤:
[0096]
4.4.1、提取骨干网络中特征图尺寸为13
×
13、26
×
26、52
×
52的特征图支路作为yolo head的输入;
[0097]
4.4.2、在这三条支路上做卷积池下采样的操作,顺序是从13
×
13深层到52
×
52再到13
×
13深层的多次处理结构;
[0098]
4.4.3、yolo head通过全连接层操作得到三条支路的目标类别预测结果和检测框位置。
[0099]
yolo head的作用就是对从panet中获得到的3个有效特征层的结果进行最后的处理,获得vitdet类算法网络的预测结果预测结果代表每一个网格上的先验框是否包含物体,物体的种类以及这个先验框的调整参数。
[0100]
步骤4.5中,vitdet类算法的解码过程就是指对先验框的调整过程,就是对先验框中心坐标和宽高坐标进行调整,即对先验框进行平移和缩放获得真实框的过程,中心坐标调整是对先验框与预测框中心间的偏移距离。损失函数的具体计算方法如下:
[0101]
4.5.1、首先通过将相应距离值之间的所有欧几里得距离的平方相加,计算非重叠面积s,具体公式为:
[0102]
s=(l
*-l)2 (t
*-t)2 (r
*-r)2 (b
*-b)2,
[0103]
其中,{l,t,r,b}和{l
*
,t
*
,r
*
,b
*
}分别是预测和真实标签的边框中心点坐标真相差异,l和t指从右下角到左和上边界的距离,r和b指从左上角到右和下边界的距离;
[0104]
真实框的{l
*
,t
*
,r
*
,b
*
}计算公式如下:
[0105][0106][0107][0108]
w(i)=w/si,
[0109]
h(i)=h/si,
[0110]
其中,i表示本文的不同的3个尺度,si={8,16,32},(x,y)为真值框的中心点坐
标,和表示比例i处左上角和右下角的各自坐标,表示比例i处左上角和右下角的各自坐标,和表示中心位置左上角和右下角的各自坐标;
[0111]
预测框的{l,t,r,b}计算公式如下:
[0112][0113]
其中,σ表示sigmoid函数,p0,p1,p2,p3表示网络对距离值的预测,i={1,2,4};这里需要说明的是,加入sigmoid函数是为了防止在预测过程中,实际中心点坐标被移出,即使用sigmoid保证他们在[0,1]之间,对预测框中心点坐标归一化处理,就能保证真实框中心点只能在所处的网格中平移,宽高参数是对先验框宽高缩放从而获得预测框宽高尺寸;
[0114]
4.5.2、通过计算相交区域对角线长度的平方来获得相交区域i,具体公式为:
[0115]
i=(wi)2 (hi)2,
[0116]
其中,wi和hi分别表示交叉区域的宽度和高度;
[0117]
4.5.3、通过长和宽计算覆盖预测和真实框的最小区域c,具体公式为:c=(wc)2 (hc)2,
[0118]
其中,wc和hc分别覆盖预测和真实框的最小区域的宽度和高度,wc=max(l
*
,l) max(r
*
,r)-1,hc=max(t
*
,t) max(b
*
,b)-1;
[0119]
4.5.4、通过最小化c,预测框可以向朝向真实框移动4个方向,最终将sdiou计算为其中ρ表示有利于重叠区域的正权衡值,最终定义sdiou损失为loss=1-sdiou。
[0120]
整个vitdet类算法的损失函数包含3部分:首先是回归损失,只对正样本进行sdiou计算,只有拥有对应真实框的先验框才有这个一步骤的计算;其次是是进行判断先验框是否包含物体的交叉熵损失的计算,正负样本都处理,前一部分是正样本交叉熵损失,后一部分针对负样本。最后是对先验框内部包含物体种类,这里只计算正样本内部的种类置信度损失。总体来看,整体损失函数就是回归损失,内部是否包含物体的损失和种类的损失。
[0121]
步骤5、将步骤1-3获得的训练集数据输入到目标检测网络中,用于训练目标检测网络,得到目标检测网络模型并保存。
[0122]
步骤6、将步骤1-3获得的测试集数据输入到目标检测网络模型中,通过目标检测网络模型检测是否有病变目标区域,测试目标检测网络模型。
[0123]
步骤7、将目标检测网络模型部署到gpu模块上用于检测客户端传输的图片,并把检测结果返还至交互界面。
[0124]
采用上述方案,在实际手术操作过程中,能将提取到的关键手术要素和手术安全
模型进行计算匹配,手术过程中实时计算,并以图文形式是进行提示,有效的辅助外科医生提高手术安全性。利专利权保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献