基于Mask R-CNN的胃肠息肉图像增强检测
2023-03-27胡一凡肖满生范明凯吴宇杰
胡一凡,肖满生,范明凯,吴宇杰
(湖南工业大学 计算机学院,湖南 株洲 412007)
0 引 言
内窥镜检查是耗费精力的一个项目,息肉检查通常也通过内窥镜实现,医生人为的内窥镜检查需要高度的手眼协调,耗费时间与精力,通过计算机技术辅助并减轻人为负担是一个发展的趋势。近几年深度学习技术给计算机辅助诊断带来了新的契机,目前一些在通用检测领域使用的深度学习模型,如:Faster R-CNN[1]、SSD[2]、YOLO[3]、RetinaNet[4]等,都在目标检测上有着优良的表现,能够很好地迁移到医学领域。
目前,息肉图像检测的方法分为传统图像处理方法和深度学习方法。传统的图像处理方法需要对采集的息肉图像做一定的预处理排除干扰,同时需要进行手工特征提取以找出息肉特征,最后采用分类器进行分类。传统图像处理中提取的特征通常有SIFT特征[5]、HOG特征[6]等,这些特征提取方法需要依靠人为的先验知识进行设计,缺乏通用性,鲁棒性差,难以实现方法的迁移以及端到端学习。深度学习方法目前是以CNN(卷积神经网络)为基础进行拓展的目标检测网络,深度学习的优点在于不需要人工设计算法去提取图像的特征,通过CNN多次卷积和池化能够提取出图像不同的特征,CNN的深度决定了能否提取更多的特征,目前在图像的分类[7]、检测[8]和分割[9]领域都有许多成熟的应用。同时近年来出现的以Vision Transformer[10]为主的方法,将Transformer[11]从自然语言处理领域迁移到了计算机视觉领域,提出了一种新的检测思路,具有代表性的检测方法有DETR[12], 也是一种极具发展潜力的目标检测模型。
在医学息肉的目标检测方面,Mo X等人[13]使用了Faster R-CNN在内窥镜息肉数据集上进行检测,获得了较高的精确度,实验结果对检测中等和大面积的息肉效果较好,但是对小目标息肉的检测效果不佳,并且在对比度不高和含有镜面反光的区域中也无法正确地识别息肉。Ohrenstein DC等[14]提出了一种SSD联合GAN的检测方法,GAN[15]用于提升数据集中小目标的分辨率,在保证SSD检测的速度上,提升了检测小目标息肉的精确度,但依旧有可提升的空间。王博等人[16]提出了一种改进的M2det的内窥镜息肉检测方法,使用了FFMs模块融合主干网络特征,充分利用了图像特征,同时增加了scSENet注意力机制保留了有效特征,使得检测效率优于许多息肉检测方法,但是模型对一些对比度低且形状不规则的息肉图像依然存在误检。Shen Zhiqiang等人[17]使用了一种COTR方法,将CNN和Transformer结合用于息肉检测,该方法促进了特征重建并且加速了模型的收敛,获得了与CNN检测相当的性能,但这种方法检测固着性息肉时产生的置信度较低,可能会导致模型漏检。
手术切除是根治粘液腺囊肿最传统的方法,但手术治疗只适应囊肿与粘膜无粘连的患者。它的不足之处在于:切除囊肿对组织的创伤大,局部易形成疤痕,术中出血明显止血困难;有些病变部位操作不便,术后易复发。并且,患者普遍对手术有恐惧心理,一般不愿接受。术后疼痛明显,影响病人饮食、生活。所以目前不建议首选手术治疗。
实验所需的药材于2016年6月采于新疆伊宁,经鉴定为车前属(Plantago)植物巨车前(Plantago maxima Juss. ex Jacq.),凭证标本(TLM-201601)存放于塔里木大学生物资源保护利用兵团重点实验室天然产物研究室。
依据上述的研究现状,提出了一种基于Mask R-CNN胃肠息肉增强检测方法。在Mask R-CNN的特征提取网络上提出替换部分卷积采用可变形卷积从而自适应特征采样的范围,模型之外提出了一种增强图像边缘强度的增强检测模块(CLAHE Enhanced Detection,CED),通过滑动窗口的方式对原图进行切分和对比度增强,有效地对息肉图像中的中小目标和不显著目标进行检测。
1 Mask R-CNN模型介绍
该文采用了Kvasir-SEG[27]数据集与CVC-ClinicDB[28]2个胃肠息肉图像数据集进行实验。Kvasir-SEG数据集包含1 000张息肉类的原始图像并提供分割掩码图片和边界框标签,由经验丰富的胃肠病学家手动注释和验证,适用于图像逐像素分割与目标检测。CVC-ClinicDB是一个公开的内窥镜图像数据集,包含来自31个结肠镜序列的612张分辨率为384×288的图像,图像提取来自结肠镜息肉检测视频,并提供原图和息肉相应区域的掩码信息,此数据集常用于医学图像分割,也是MICCAI 2015 Sub-Challenge on Automatic Polyp Detection Challenge in Colonoscopy Videos使用的官方数据集。
图1 Mask R-CNN模型结构
特征提取网络主要使用CNN进行多层的卷积获取输入图像的特征图。Mask R-CNN采用了ResNet(残差网络)[22]和FPN(特征金字塔网络)[23]组成特征提取网络,FPN能够输出不同尺度的特征,提供了多尺度的特征图,ResNet具有更好的语义特征提取性能,能够保证一定网络深度的同时避免网络退化,同时ResNet中Residual block(残差块)的简易结构,使得ResNet能够很好地与其他特征提取模块结合。ResNet和FPN的模块组合,使得模型在图像中够提取到更加丰富的特征,对各类目标的检测率都有提升。
文中Mask R-CNN使用了ResNet50作为特征提取网络,ResNet50被分为5个部分,每个部分由多个不同通道数的Residual block叠加,如图3所示。模型改进使用可变形卷积来替换原网络中的标准卷积,由于可变形卷积引入的偏移量ΔPn需要通过特征提取网络反向传播学习来确定,引入了一定的计算量,因而不适合将所有的标准卷积进行替换,经过实验验证,最后将ResNet50中后三个卷积组中的标准卷积替换成可变形卷积能获得比较好的效果。替换的可变形卷积增强了模型本身适应尺度变换的能力,模型可以更好地提取图像中目标形状的完整特征。
(4)将步骤(3)增强检测的结果与步骤(1)初步检测的结果融合,过滤检测框重叠的结果,取置信度较高的检测框,调整大小最后输出增强检测结果。
德国水兵俱乐部旧址1层门厅、大厅、走廊区域、3层东北角房间遗存有德租时期铺装的釉面砖.门厅位置保存较完整,由于使用频繁,部分砖材出现污迹、裂纹、失光以及缺失,对保存较好的地砖进行温水擦洗,清除表面污垢.
2 可变形卷积Mask R-CNN
直方图均衡化是一种提升对比度的常用方法,通过灰度直方图的分布得到映射曲线,再通过灰度概率分布实现图像的空间映射。对于离散的一幅灰度图像gray,计算图像中灰度值为i的像素出现的概率有公式(3),其中L是图像所有的灰度数,N是图像中所有的像素数,ni为像素值为i的像素数,计算所得Pgray(i)是像素值为i的图像直方图。将Pgray应用于累积分布函数可得公式(4),即为灰度图像的累计归一化直方图。
二维卷积在特征图上作用分两步:(1)在输入的特征图上使用标准的网格R进行采样;(2)将采样的结果乘上对应的权重w并进行求和。一个标准3×3的二维卷积如图2(a)所示,网格R代表了二维卷积的采样范围,R为{(-1,-1),(-1,0),…,(0,1),(1,1)},对于特征图Y上每个位置P0,都由公式(1)表示,其中Pn对应了二维卷积中R每一个位置。可变形卷积在公式(1)的基础上增加了偏移量{ΔPn|n=1,2,…,N},且N=|R|,如公式(2)所示,原二维卷积的采样范围中增加了不规则的偏移ΔPn,随着偏移量的取值和方向不同,使得二维卷积的采样范围随给定的偏移量变化。
图2 特征图中二维卷积的采样范围(a)和可变形卷积的其中一种情况,通过引入偏移量ΔPn扩大了采样范围(b)
(1)
(2)
RPN是由全卷积组成的网络,它为图像生成一系列目标候选框,以便后续进一步筛选,保证模型检测精确度。RPN预先定义一系列的候选框,通过锚点滑动窗口的方式,在特征图的每一个区域上滑过,并由特征图映射回原图,在原图上生成候选框,并判断哪些候选框中包含目标,这样能较精准地确定图片中目标的位置。RPN默认定义了3种尺度的候选框,每一种尺度的候选框设置了3种比例,能够生成9种不同比例尺度的候选框,能够覆盖到绝大多数的目标。
图3 ResNet50特征提取网络(a)和替换了可变形卷积的ResNet50分别在后三个卷积组上使用了可变形卷积(b)
3 增强检测模块
3.1 对比度限制的自适应直方图均衡化(CLAHE)
一些胃肠息肉图像中,检测目标与背景有极其相似的特征,这类目标称为不显著目标,目视检测的方法很难察觉到这些特征,对于通用的目标检测模型而言检测此类目标也有一定的难度。因此采取调整对比度的方法增强不显著目标与背景的边缘强度,扩大不显著目标与背景的差异,能有效提高模型的检测率。
可变形卷积(Deformable Convolution)[24]是应用在特征提取网络中的一种特殊卷积,它增加了CNN的几何变换能力。通常CNN中卷积的结构是固定的,卷积在图像中滑动采样的过程中,受限于标准卷积的结构,模型的特征提取范围存在局限性,对未知目标的变化适应性差,泛化能力弱。可变形卷积在标准卷积的结构上引入了偏移量来增加空间采样范围,在原卷积核的每一个元素上增加了一个方向参数,使得卷积核在模型训练时自适应地扩大采样范围。
(3)
(4)
将公式(4)的直方图运用于RGB三个图像通道上,可对彩色图像进行直方图均衡化,能很好地提高图像整体的对比度。
在直方图均衡化的基础上,CLAHE[25]是自适应直方图均衡方法上的改进,CLAHE在应用累积分布函数前对直方图进行了预定义值的裁剪,从而限制了高频噪声区域的局部信息增强,从而抑制噪声。对息肉图像而言,R通道的像素与彩色图像原图接近,所以使用CLAHE对图像的G、B二通道进行增强,使目标的颜色发生一定偏移,从而减小息肉目标与背景的相似度。图4是使用CLAHE方法对部分息肉图像的增强效果,对一些不显著的息肉目标可以起到很好的增强边缘效果。
图4 息肉数据集中原图像(a)(b)和使用了CLAHE增强后的息肉图像(c)(d)
3.2 增强边缘强度的检测模块(CED)
(3)对切片的图像采用双线性插值进行适当上采样,上采样后的图片进行CLAHE增强后分别送入模型进行增强检测。
(5)
(6)
(7)
双线性插值上采样后像素的填充可能导致图像的边缘强度减弱,通过CLAHE提升对比度同时对图像边缘进行增强,从而能够使模型更好地检测小目标和不显著目标。综上所述,增强检测模块的具体流程(见图5)如下:
(1)检测图像先输入Mask R-CNN模型进行初步识别,得到部分检测结果。
表1为不同施钾肥处理对甜玉米苗期和抽穗期叶片数、株高、茎粗及SPAD值的影响。施用钾肥明显促进了玉米苗期叶片数、株高、茎粗和SPAD值的增加,与不施钾(NP)处理相比,增幅分别为10.8%~23.2%、19.2%~40.0%、21.7%~40.1%和 8.5%~26.1%,等施钾量不同处理的叶片数没有显著差异。其他施钾处理的株高和茎粗均显著高于全部施用有机钾处理(100%OF),增幅分别为 10.0%~17.5%和 10.4%~15.1%。有机无机钾肥配合施用处理的SPAD值显著高于100%OF处理。
(2)根据输入图像的大小,确定合适的滑动窗口大小n,使用n×n的滑动窗口对原图像进行切片操作。
总体来讲,多重随机森林加权大数投票对于动态行为分类效果较好,分析原因是使用多组最佳参数组合使波动误差缩小,同时加权投票机制使最终决策更加稳定。但是在实际的应用中,随着基分类器个数增多,模型训练及行为识别过程中时间消耗也会越多,应当根据实际场景去选择基分类器的个数。
在目标检测任务中小目标的检测是一个难点[26],目标检测的定义中小目标是指像素面积小于32×32个像素点,难点在于小目标所占的像素点非常少,传统模型的检测框通常针对中等目标和大型目标设计,无法很好地定位,且一些小目标在图像上的特征表现过于稀少且不显著,检测模型在定位的过程中很难判断是目标还是背景,导致检测阈值过低而被模型过滤。针对这个问题,在Mask R-CNN模型的基础上提出了一种结合CLAHE的滑动窗口增强检测模块,模型首先对图像全局进行检测,找出中等、大型息肉,在此基础上对图像进行滑动切片操作,将图像分成若干个区域,再对若干区域进行双线性插值。双线性插值是一种图像上采样的方法,该方法通过图像已知的像素点进行插值计算确定出未知的像素点,目的是为了放大小目标特征。图像的双线性插值操作如下:已知图像中四个点的像素值f(P11),f(P12),f(P21),f(P22)和位置P11=(x1,y1),P12=(x1,y2),P21=(x2,y1),P22=(x2,y2)要计算上述四个点所包含的未知点Q(x,y)的像素值。首先通过公式(5)和公式(6)对Q的x方向进行插值,算出与Q点在相同x坐标下的Q1、Q2点的像素值,再通过公式(7)对Q的y方向进行插值,即可算出Q点位置上的像素值。
ROIAlign是Mask R-CNN模型对ROIPooling结构的改进,RPN在特征图上生成候选框后通过ROIPooling将对应的候选框位置池化为固定大小的特征图,再输入后续的全连接层进行目标分类和边框坐标回归,ROIPooling在池化操作中采取了取整的步骤,使得池化后的特征图丢失了部分细节,对Mask R-CNN的分割操作有很大的影响,ROIAlign通过双线性插值的方法算出特征图对应的像素值,避免了ROIPooling的取整步骤,优化了模型结构。
4 实验及结果
4.1 数据集
Mask R-CNN[18]是一个能进行多任务的图像检测模型[19],模型能同时进行目标检测任务和实例分割[20]任务。Mask R-CNN主要部分由特征提取网络、RPN(区域候选网络)、ROI Align和全连接网络四个部分组成,网络结构如图1所示。Mask R-CNN从整体上可以看作为Faster R-CNN与FCN(全卷积网络)[21]的组合,模型先对图像做目标检测,图像经过特征提取网络进行多尺度特征提取,并通过RPN确定目标的种类和候选框,得到每个息肉的具体位置与特征图,在此基础上通过FCN执行语义分割,使每一个检测框内对应生成当前类别的目标分割结果。
4.2 数据预处理
Kvasir-SEG和CVC-ClinicDB数据集是从人体的腹腔中采集而来,腹腔中存在着大量粘液,在采集过程中由于光照会产生反光,反光现象一定程度上遮挡了图像的部分特征,引入了过多噪声。为了改善这种现象,使用了一种图像去反光的算法[29]进行预处理,对一些具有强烈反光影响的息肉图像修复效果较好。该算法主要步骤是检测息肉图像中具有强烈反光的部分,然后计算周边非反光部分的像素值,并将这些像素值进行加权平均对反光部分进行填充。
4.3 评价指标
4.4 实验环境与训练过程
实验环境为Ubuntu20.04,Intel Xeon E5-2678 v3(6)@ 3.300 GHz,GPU NVIDIA RTX 2080Ti ,CUDA 10.2,深度学习框架为Pytorch,在Kvasir-SEG数据集上训练了4 800个迭代数,在CVC-ClinicDB数据集上训练了2 400个迭代数,初始学习率设为0.02,随训练缓慢递减。
改进后Mask R-CNN模型在两个数据集上训练情况曲线记录在图6,模型在两个训练集上的loss值随着训练迭代数的增加由急剧下降过渡到逐渐平缓,表明模型在不断的拟合训练集样本,有利于提升模型对测试集样本的检测精确度。
秀容川栽落草地,不动了。老砍头走上前,略一探查,发觉秀容川心不跳了,脉搏也停止了,再看他眼睛,两只瞳孔也散了。
图6 改进后的Mask R-CNN在数据集上的训练损失值
4.5 实验结果与分析
模型对Kvasir-SEG与CVC-ClinicDB数据集分别实验,训练集和测试集比例设为8∶2,在Kvasir-SEG数据集的实验中随机选取了800张图片作为训练集,200张图片作为测试集,实验中由于Kvasir-SEG数据集中小目标的数量较少,评测代码无法对APs进行计算。在CVC-ClinicDB数据集中随机选择了489张图片作为训练集,122张图片作为测试集。对于目标检测任务,选择了5个其他检测模型进行评测对比,同时还做了三个基于Mask R-CNN的改进对比实验。对于实例分割任务只进行了Mask R-CNN改进对比实验,目标检测和实例分割的试验结果分别由表1、表2所示。
不同于R-CNN类算法需要先使用启发式方法得到候选区域,然后在候选区域上做分类和回归进行目标的定位和检测,Yolov2仅使用CNN网络一步预测待检测目标的位置和类别,提供车牌端到端的预测,如图1所示。
表2 实例分割实验结果
表1 目标检测实验结果
纸产品主要通过造纸机来生产制造,生产过程包括浆料准备、成形、压榨和干燥等主要工序。干燥因其体积最大、固定资产投资最大、能源消耗最高,被认为是最关键的工序。因此,本研究选择纸张干燥过程作为切入点,总结纸张干燥过程建模与智能模拟技术的研究进展,为建立纸张干燥过程系统模型,实现智能模拟纸张干燥生产过程并最终助力传统造纸工业转型升级、实现智能制造,积累技术力量。
图7可视化了Mask R-CNN(DCN+CED)在不同IOU阈值下的PR曲线,可以看出在IOU值为0.5和0.75时模型在两个数据集上的表现良好,在IOU值为0.9时,模型表现欠佳,可以说明Mask R-CNN(DCN+CED)在较严格的测试条件下对两个数据集仍有较好的检测性能。
图7 Kvasir-SEG数据集在IOU分别为0.5、0.75、0.9时的PR曲线(a)和CVC-ClinicDB数据集在IOU分别为0.5、0.75、0.9时的PR曲线(b)
图8展示了Mask R-CNN(DCN+CED)在两个数据集上的检测结果的可视化图,上三幅图来源于Kvasir-SEG数据集,下三幅图来源于CVC-ClinicDB数据集。从可视化结果可以看出,模型对不同形状大小的息肉检测效果良好,且对一些具有反光干扰下的息肉图片也有较好的检测效果,凸显了改进的有效性。
带着群众的殷切期望,青州市历史上首次镇人大专题询问拉开序幕。询问代表的提问朴实、直接,贴近实际,应询人员的回答实在、透彻,直面问题。能马上办好的,都当场做了答复;需要长期办理的,明确了工作措施和完成时限。整个过程环环相扣、有条不紊、合法合规。
图8 Kvasir-SEG和CVC-ClinicDB部分测试集检测结果
5 结束语
该文提出了一种基于Mask R-CNN的增强检测模型用于更好地对息肉图像进行检测和分割,在特征提取网络中引入了可变形卷积提高了模型对图片的特征提取范围,同时设计了一种增强检测模块,在两个数据集上的验证实验和模型对比实验均表明可变形卷积和所提出的增强检测模块对小面积息肉和不显著息肉的检测有明显的提升效果。另外提出的增强检测模块在理论上能够迁移到其他检测模型,需要根据不同任务做出一定的参数和方法调整,增强检测需要花费多余的时间进行切分和检测,后续将针对检测时间较长的问题进行一定的改进,同时也将继续研究将模块进一步融入模型以获得更好的兼容性。