本发明属于息肉检测技术的技术领域,尤其涉及一种基于深度卷积网络的大肠内窥镜息肉检测方法。
背景技术:
结肠癌在全世界范围内属于高发的恶性肿瘤,预计2018年就有1.8万例确诊和881000例死亡,肠癌由良性息肉病变发展而来,因此早期的筛查发现是一种非常有效的预防手段;如对于良性腺瘤性息肉和增生性息肉使用内窥镜进行移除能有效的避免其发展为恶性肿瘤。
leufkens等人于2012年发表的《factorsinfluencingthemissrateofpolypsinaback-to-backcolonoscopystudy》文章中提到其实验中有25%的腺瘤性息肉被医生漏检,现实操作中有很多因素会造成息肉漏检,可以总结为:息肉过小,息肉被异物遮盖,退镜过快,息肉未出现在镜头中,息肉出现在镜头内但被医生忽视,尽管一些因素可以通过术前的肠道准备,提升设备性能和提升医生的操作来降低漏检率,但由于内镜操作十分依赖于医生的视觉来寻找在肠道内特征不是特别明显的结肠息肉,因内镜设备操作者疲劳,经验和敏感度等人为因素造成的漏检是十分难以避免的,因此自动化的息肉检测是一个十分有效的工具用来帮助医生降低漏检率。
ameling等人在《texture-basedpolypdetectionincolonoscopy》一文中使用基于息肉表面的纹理,颜色和形状来区别正常肠道内壁和息肉的方法,但是其方法在真实的环境中会带来大量的误报,比如一些正常的组织,隆起,镜头上的光斑,带有明显的血管区域和肠道异物。
关于使用现有的深度学习等技术在结肠癌图片的检测,mo等人在《polypsdetectioninendoscopicvideosbasedonfasterr-cnn》中使用了faster-rcnn用于息肉检测,一种双阶段基于锚框的物体检测器,不同于传统的图像处理方法,深度学习调用了大规模的卷积神经网络cnn来提取图像特征信息,用更多的特征来分辨容易混淆的息肉形态特征和正常肠壁的形态特征,但是由于其使用了双阶段的架构,第一个阶段会产生出较多的候选框,不符合实时检测的要求。
所以现有的上述两种检测方法都存在一些缺点,无法满足实际的使用要求。
技术实现要素:
本发明目的是为了克服现有技术的不足而提供一种检测方法精度高,误报率低,且检测速度快的基于深度卷积网络的大肠内窥镜息肉检测方法。
为达到上述目的,本发明采用的技术方案是:一种基于深度卷积网络的大肠内窥镜息肉检测方法,包括如下步骤:
s1:构建卷积神经网络,所述卷积神经网络由骨干网络在imagenet进行预训练,再由包含息肉类别和位置信息的训练图像数据集训练所得;
s2:对彩色内镜图像进行预处理;
s3:将预处理后的彩色内镜图像输入卷积神经网络后提取图片特征层信息;
s4:对图片特征层信息进行特征增强和视野域的提升;
s5:将图片特征层信息解码为息肉的类别和其位置信息。
进一步的,所述卷积神经网络包含十六层卷积,每层网络均通过反向传播来更新其权重参数;
所述卷积神经网络以maxpool为界限分成步长为4,8,16,32,64的不同阶段;
进一步的,对彩色内镜图像进行预处理的步骤如下:
裁剪彩色内镜图的黑边;
调整图像尺寸到统一大小和进行像素均值的归一化。
进一步的,s3中,将经过预处理后的彩色内镜图像输入卷积神经网络中进行卷积操作,得到大小为80x80,40x40,20x20,10x10,5x5的图片特征层信息,分别对应卷积神经网络中步长为4,8,16,32,64的输出。
进一步的,所述s4中的步骤如下:
a:对预处理后的图片特征层信息进行特征增强;
b:将经过特征增强的图片特征层信息输入到视野域提升模块获取提升视野域后的图片特征层信息。
进一步的,所述特征增强的处理方法如下:
一、从卷积神经网络中抽取k个中间层,其中k=5;
二、当对于特征层si,其中i=0~k-1,进行特征融合时,首先使用卷积核为1x1的卷积层对特征层si+1进行平滑和降维操作;
三、使用卷积核为2x2,步长为2的转置卷积进行上采样,结果与特征层si相加得到增强特征ei,其公式为:
ei=si+deconv(smooth(si+1));
其中,deconv()为转置卷积,smooth()为1x1的卷积操作;
进一步的,所述视野域提升模块包含三个分支,每个分支分别处理1/3的通道数,并包含1,2,3个卷积核为3x3步长为1稀疏为3的稀疏卷积;图片特征层信息进入到视野域提升模块后的输出为每个分支的卷积结果在通道层面的级联。
进一步的,s5中解码过程如下:
对于边界框回归特征层,特征点x,y其输出预测为
其中,
经解码得到预测物体位置[cx,cy,w,h],其中,cx,cy为物体框中心点x,y值,w,h为物体框的宽高,然后结合物体类别信息得出息肉的类别和位置信息[s,cx,xy,w,h];
其中s为物体类别。
进一步的,所述卷积神经网络的训练方法如下:
①由骨干网络在imagenet进行预训练,再由包含息肉类别和位置信息的训练图像数据集训练得到卷积神经网络;
②对彩色内镜图像进行预处理;
③将预处理后的彩色内镜图像输入卷积神经网络中,进行图片特征层信息的提取;
④对卷积神经网络提取的图片特征信息进行特征增强以及视野域提升;
⑤对于不同特征层的特征点按照目标息肉的大小给予不同的标签;
假设一个息肉目标边界框b=(cx,cy,w,h),(cx,cy)为边界框的中心点,(w,h)为宽高;将其按大小分配到缩放步长为sl的特征层kl,此特征层包含有m2个特征点,其中m为特征层边长,集合
正样本区域为
当特征点在正样本的区域内时,判定为正样本;当特征点在正样本和非正样本的区域之间时,判定为忽略样本;当特征点在非正样本的区域之外时,判定为负样本;
⑥对特征点的息肉目标分配和当前层的息肉目标筛选;
在判定正负样本时,假设物体b属于特征层i,i∈[0,k-1],d=|i-l|为当前特征层与最佳特征层的距离缩放大小取值为:
δ1=max(lcosin(λ,d,k),0);
因此当前层的新非正样本为:
其中,δl为计算求得的缩放非正样本比例;
⑦对于不同息肉目标对于不同的特征层会生成不同的距离热力值来辅助特征点对于当前位置的息肉目标判定,具体公式为:
其中:
min(x,y)取x,y中最小值,同理max(x,y)取x,y中最大值;
其中,left、right、top和bottom分别表示为特征点距离样本框的左边框、右边框、上边框和下边框的距离;
生成的热力图在训练阶段使用binarycrossentropy为损失函数,与步骤8得出的物体类别预测值进行点乘;
⑧训练阶段对于不同息肉目标对于不同的特征层在计算分类损失函数时会使用公式生成不同的权重;通过一个高斯分布公式对不同距离在计算损失时给予不同的权重
其中,α取值为1,cb为目标物体位置,cp为特征点位置;
⑨训练阶段对于特征点的位置大小的拟合损失函数使用平滑l1损失函数计算边界框回归损失lloc,并使用函数对边界框的特征点进行编码:
其中,
⑩训练阶段对于特征点的分类使用以下损失函数:
lf(pt)=-αt(1-pt)γlog(pt);
其中lf(pt)为focalloss。lce为crossentropy分类损失函数,lcls为最终分类损失函数
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明方案的基于深度卷积网络的大肠内窥镜息肉检测方法,其操作方便,可以提升对息肉图像推理速度和敏感度,从而能够在内窥镜图像中快速的定位息肉位置,并且避免了在内窥镜图像下,同一息肉物体会因内不同旋转角度而造成标签设定的不一致,符合实际的使用需求,具有较高的实用性和推广价值。
附图说明
下面结合附图对本发明技术方案作进一步说明:
附图1为本发明中实施例一的框架流程图;
附图2为本发明的使用过程示意图;
附图3为本发明中判定正负样本方法的实际使用图;
附图4为本发明的一种实际检测效果图;
附图5为本发明的另一种实际检测效果图;
附图6为本发明的辨识效果曲线图;
其中:息肉1、第一实线框11、第二实线框13。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细说明。
请参阅附图1,本发明所述的一种基于深度卷积网络的大肠内窥镜息肉检测方法,包括如下步骤:s1:构建卷积神经网络,所述卷积神经网络由骨干网络在imagenet进行预训练,再由包含息肉类别和位置信息的训练图像数据集训练所得;s2:对彩色内镜图像进行预处理;s3:将预处理后的彩色内镜图像输入卷积神经网络后提取图片特征层信息;s4:对图片特征层信息进行特征增强和视野域的提升;s5:将s4中的图片特征层信息解码为息肉的类别和其位置信息。
请参阅附图2,在s1中,骨干网络包括但不限于:alexnet、vggnet、shufflenet、densenet、squeezenet、resnet;本实施例一使用了基于imagenet预训练vgg16构建卷积神经网络,在此之上额外增加了新的网络层与模块;vgg16卷积神经网络包含16层卷积,每层网络均通过反向传播来更新其权重参数。卷积神经网络以maxpool(最大池化)为界限分成步长为4,8,16,32,64的不同阶段。
随着网络加深每次池化后特征图大小缩小一半,信道数目不断增加一倍。
并且,每层卷积结果使用relu激活函数,通过分段激励函数的线性性质能有效地克服深度神经网络梯度消失的问题及缓解过拟合问题。
s2中,在进行图片特征信息提取之前,将原来的彩色内镜图像进行预处理,包括进行:裁剪输入图片的黑边,调整图像尺寸到统一大小和进行像素均值的归一化。
这是因为,在实际应用中由于内窥镜的设备不同,所输出的图片分辨率也不同,为了方便后续的特征提取,本发明首先对彩色内镜图像进行缩放至320x320的图片分辨率,之后对图像进行像素均值归一化,使得数据的每一个维度具有零均值和单位方差。
在s3中,将预处理后的彩色内镜图像输入卷积神经网络后提取图片特征层信息;将经过预处理后的图片输入卷积神经网络进行卷积操作,得到大小为80x80,40x40,20x20,10x10,5x5的图片特征层信息分别对应骨干网络conv3_3,conv4_3,conv5_3,conv6_2和conv7_2的输出。
在s4中,为了提高对小物体的检测率,对使用骨干网络conv3_3,conv4_3,conv5_3,conv6_2和conv7_2进行特征增强。
为了克服经过深层多次池化后语义信息增加但是对小物体不敏感,浅层语义信息少准确率低的问题,本方法使用了特征金字塔结构的top-down方法来增强浅层特征层的语义信息,提高对小物体的准确率。
具体的步骤如下:
为从卷积神经网络中抽取k个中间层,在此技术方案中k=5;当对于特征层si,i取值[0,k-1)进行特征融合时,首先使用卷积核为1x1的卷积层对特征层si+1进行平滑和降维操作,接着使用卷积核为2x2步长为2的转置卷积进行上采样,结果与特征层si相加得到增强特征ei;
其公式为:ei=si+deconv(smooth(si+1))
其中,deconv()为转置卷积,smooth()为1x1的卷积操作。
接着,为了在节省计算资源的情况下进一步的提升视野域,将经过特征增强的ei输入到视野域提升模块,请参照图2,此模块包含三个分支,每个分支分别处理1/3的通道数并包含1,2,3个卷积核为3x3步长为1稀疏为3的稀疏卷积,此模块的输出为每个分支的卷积结果在通道层面的级联。
工作时,通过使用两个或三个3x3卷积,其效果能达到一个5x5或7x7卷积的视野域且使用更少的计算资源,经过此步骤后的特征层包含更多的视野域,增加了语义信息,提升了对小物体的准确率和召回率。
s5中,对提取的图片特征层信息进行解码:将网络提取的数字特征信息解码为息肉的类别和其位置信息,在卷积神经网络的训练过程中,使用损失函数配合反向传播来更新网络权重。
对于边界框回归特征层,特征点x,y其输出预测为
其中,
经解码得到预测物体位置[cx,cy,w,h],cx,cy为物体框中心点x,y值,w,h为物体框的宽高。
另外,所述卷积神经网络在进行实际测试使用时,还需要经过多次训练,使得卷积神经网络进行固定,确保其测试准确率满足实际的使用需求。
在本实施例一中,所述卷积神经网络的训练方法如下:
①基于imagenet的预训练vgg16构建卷积神经网络。
②对彩色内镜图像进行预处理。
③将预处理后的彩色内镜图像输入卷积神经网络中,进行图片特征层信息的提取。
④对卷积神经网络提取的图片特征信息进行特征增强以及视野域提升。
⑤训练阶段对于不同特征层的特征点按照目标息肉的大小给予不同的标签,此标签将用于之后的算是函数计算和回归,不同于传统的基于锚框,计算iou(交叠率)的方法,本方法使用了一种更加简洁的手段来计算标签。
我们提出了一种基于目标边界框的区域来判定正负样本的方法,此方法节省了因锚框带来的额外的超参数和计算量,为了更直观的表示这个过程,假设一个息肉目标边界框b=(cx,cy,w,h),(cx,cy)为边界框的中心点,(w,h)为宽高;将其按大小分配到缩放为sl的特征层kl,此特征层包含有m2个特征点,其中m为特征层边长,集合
其正样本区域为
其中
当特征点在正样本的区域内时,判定为正样本;当特征点在正样本和非正样本的区域之间时,判定为忽略样本;当特征点在非正样本的区域之外时,判定为负样本;实际的范例如图3所示,第二实线框为非正样本区域,第一实线框为正样本区域,方格为特征点。
⑥训练阶段对于不同缩放比例的特征层对不同大小的息肉目标进行拟合,此阶段包含一种对特征点的息肉目标分配和当前层的息肉目标筛选。
在判定正负样本时,不同息肉目标大小分配到不同的特征层,但是某些相邻的特征层的特征点,特别是位于物体中心的有足够的语义信息来预测物体位置。
为了使用上这些特征点,我们设计了一个缩放公式,使得属于某一层非正样本区域能按照距离大小缩放到不同的特征层,从而提高召回率。
假设物体b属于特征层i,i∈[0,k-1],d=|i-l|为当前特征层l与最佳特征层的距离缩放大小取值为:δ1=max(lcosin(λ,d,k),0);
因此当前层的新非正样本为:
其中,δl为计算求得的缩放非正样本比例。
⑦训练阶段对于不同息肉目标对于不同的特征层会生成不同的距离热力值来辅助特征点对于当前位置的息肉目标判定,具体公式为:
其中:
min(x,y)取x,y中最小值,同理max(x,y)取x,y中最大值。
其中,left、right、top和bottom分别表示为特征点距离样本框的左边框、右边框、上边框和下边框的距离;
其中,生成的热力图在训练阶段使用binarycrossentropy为损失函数,预测阶段与步骤8得出的物体类别预测值进行点乘,此热力图在不增加大量计算的情况下能很好地压制误判,提高准确度。
⑧训练阶段对于不同息肉目标对于不同的特征层在计算分类损失函数时会使用公式生成不同的权重。
当特征点越靠近目标物体边界框的中心点,我们认为其损失对预测时的的检测结果越重要,因此我们设计了一个高斯分布公式对不同距离在计算损失时给予不同的权重
其中,α取值为1,cb为目标物体位置,cp为特征点位置。
⑨训练阶段对于特征点的位置大小的拟合损失函数使用平滑l1损失函数计算边界框回归损失lloc,并使用函数对边界框的特征点进行编码:
其中,
⑩训练阶段对于特征点的分类使用以下损失函数:
lf(pt)=-αt(1-pt)γlog(pt);
其中,lf(pt)为focalloss。lce为crossentropy分类损失函数;lcls为最终分类损失函数。
在实际使用中,附图4和附图5的检测效果图,可以精确的定位息肉的位置,附图6为本发明的辨识效果曲线图,从图中可知,本发明的息肉图像识别系统的识别准确度为89.8%时,召回率为83.87%。
本发明的一种基于深度卷积网络的大肠内窥镜息肉检测方法,其操作方便,可以提升对息肉图像推理速度和敏感度,从而能够在内窥镜图像中快速的定位息肉位置,并且避免了在内窥镜图像下,同一息肉物体会因内不同旋转角度而造成标签设定的不一致,符合实际的使用需求,具有较高的实用性和推广价值。
以上仅是本发明的具体应用范例,对本发明的保护范围不构成任何限制。凡采用等同变换或者等效替换而形成的技术方案,均落在本发明权利保护范围之内。