【《基于EfficientDet的肾肿瘤检测分析案例》4900字】_第1页
【《基于EfficientDet的肾肿瘤检测分析案例》4900字】_第2页
【《基于EfficientDet的肾肿瘤检测分析案例》4900字】_第3页
【《基于EfficientDet的肾肿瘤检测分析案例》4900字】_第4页
【《基于EfficientDet的肾肿瘤检测分析案例》4900字】_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于EfficientDet的肾肿瘤检测分析案例检测网络通常使用回归预测的方法,对目标进行预测框标记,是一种objectlevel的分类方法。而分割网络,会对图像的每个像素进行分类,输出二值化图像,显示目标的具体形状和位置。二者都可以将目标检测出来,区别是检测网络常用于多分类任务,如VOC数据集有20种不同的类别,而分割网络常用于二分类的任务,通常是将目标和背景进行区分。本章将使用检测网络EfficientDet完成肾肿瘤检测,并进行对比实验分析。EfficientDet检测网络结构EfficientDet[52]是GoogleBrain于2019年末在目标检测领域提出的新SOTA算法,其本质上是一种搜索加人工设计的网络结构。通过在已完成网络结构搜索的EfficientNet[53]基础上,设计BiFPN结构完成多尺度特征融合,最后由分类和回归结构生成预测框,实现从高校分类器(EfficientNet)到高校检测器(EfficientDet)的扩展。在整体结构上,EfficientDet与RetinaNet、YOLO等一系列one-stagedetector没有明显区别,但在每个单一模块上,EfficientDet在计算/存储资源有限的情况下将模型性能提升到了极致,相同精度下,其参数量和FLOPS远远小于之前的网络。EffificientDet-D7在COCO上达到SOTA51.0mAP同时仅用52M的参数和326BFLOPS。精度比之前的SOTA模型高0.3%mAP,但是参数量和计算量分别仅为之前的1/4和1/9.3。EfficientDet总共分为三个部分,特征提取模块(Backbone)EfficientNet,多尺度特征融合模块(Neck)BiFPN,以及分类和回归预测模块(Head)组成,具体结构如图3-1所示。图3-1EfficientDet网络结构图特征提取模块EfficientNetEfficientNet是由EfficientDet同作者MingxingTan发表于ICML2019的分类网络,主要是在计算资源有限的情况下,考虑如何更高效地进行网络结构组合,从而使得模型具有更高的分类精度。EfficientNet在网络设计时,主要考虑三个维度对模型性能和资源占用的影响:网络深度(depth)、网络宽度(width)和输入图像分辨率(resolution)大小,提出复合扩张方法(compoundscalingmethod),得到EfficientNet-B0至B7的网络结构。复合扩张方法主要分为两步:第一步在计算资源固定的情况下,通过网格搜索得到基准网络EfficientNet-B0的深度、宽度、分辨率大小;第二步,在基准网路基础上对模型的三个维度进行同时增加,得到不同大小,更高性能的EfficientNet-B1到EfficientNet-B7网络。EfficientNet-B0是主要由一个普通卷积、16个MBConvBlock堆叠而成。EfficientDet的Backbone结构由EfficientNet-B0网络去掉最后一层组成,其结构如表3-1所示。表3-1Backbone结构StageOperatorInputOutputLayers1Conv12MBConvBlock13MBConvBlock24MBConvBlock25MBConvBlock36MBConvBlock37MBConvBlock48MBConvBlock1从表3-1中可知,EfficientDet的Backbone结构由16个MBConvBlock和普通卷积构成。其中MBConvBlock根据输出通道不同分为7层,每层分别含有1、2、2、3、3、4、1个基础Block。图片数据输入EfficientNet网络,先经过一个普通卷积将宽、高压缩为原来二分之一,通道数扩充为32,在进入MBConvBlock进行特征提取。MBConvBlock具体结构如图3-2所示。图3-2MBConvBlock结构MBConvBlock的设计思路与MobileNetv2类似,使用倒残差结构和深度可分离卷积。先利用Conv升维,再利用或者深度卷积提取特征,并在其后增加一个SE模块,最后利用Conv降维后增加一个残差边。SE模块是一种通道注意力机制结构,其结构如图3-3所示图3-3SE模块从图3-3可知,SE模块主要包含压缩和激励两部分。首先进行特征压缩,假设图中输入特征图的大小为,通过一个全局平均池化操作压缩为。其次进行激励,通过两个全连接层以及相应激活函数获得各个通道的权重,与原特征图的对应通道矩阵相乘,重新校准特征通道。SE结构也可以用公式3-1表示。(3-1)公式3-1中表示输出,表示输入,表示深度学习获得的通道权重,用于校准输入特征图通道。的计算公式如式3-2所示。(3-2)公式3-2中表示Sigmoid函数,表示ReLU激活函数,表示全局平均池化操作,和表示两个全连接层,其作用是获取激励权重。BiFPN特征融合结构从表3-1中可知EfficientNet-B0只能输出、以及三个特征图。但是图3-1中BiFPN需要、、、、五个特征图。所以在构建BiFPN之前,需要对进行两次最大池化操作,获得和。在得到5个特征图后,还需要进行一个卷积,调整通道数。BiFPN主要通过堆叠多个BiFPNLayer实现不同尺度特征的融合。BiFPNLayer是在FPN上一步步改进的结果。如图3-4所示BiFPNLayer和不同结构FPN。(a)FPN(b)PANet(c)SPANet(d)BiFPN图3-4不同FPN结构从图3-4中可知,(d)BiFPN相比于(a)FPN,除顶层到底层的上采样层外,还增加了底层到顶层的下采样层。BiFPN与(b)PANet和(c)SPANet(SimplifiedPANet)相比,又增加一条跳跃连接,将输入和输出连接在一起,使输出同时含有混合后特征和原始特征。除此以外BiFPN在特征融合方式上使用了加权特征融合方法,即对输入乘以一个可学习的权重,类似于注意力机制。在计算每个节点特征图时,以连接此节点的featuremap先缩放在乘以归一化权重后进行特征融合,得到该节点的featuremap。特征融合计算方式如式3-3、3-4所示。(3-3)(3-4)式3-3、3-4为图3-4中(d)BiFPN中第四层中间节点的计算过程。、表示权重系数。和表示第四层和第五层的输入,对进行Resize以达到和相同大小的维度。系数是一个极小值,避免分母为0。BiFPN是在BiFPNLayer基础上,通过堆叠不同个数的BiFPNLayer组成的,在backbone使用不同复杂程度的EfficientNet时,通过复合系数控制BiFPN的宽度和深度,具体公式如式3-5、3-6所示。(3-5)(3-6)式3-5、3-6中和表示BiFPN的宽度和深度,是一个依据经验设计的超参数,其值与EfficientNet对应,例如EfficientDet-D0的backbone为EfficientNet-B0时,=0以次类推,backbone为EfficientNet-B1时,=1等等。Head预测EfficientDet的Head与其他Anchorbased目标检测算法基本一致,同样是对BiFPN中获取的5个不同尺度特征图,分别进行检测框的分类和回归。在具体实现上,分类预测和回归预测均使用深度可分离卷积减少计算量,且不同复杂度backbone对应不同层数的堆叠次数,计算公式如式3-7所示。(3-7)式3-7中,与表示回归预测和分类预测的堆叠层数,为超参数与式中相同。与其他Anchorbased目标检测算法不同的是,EfficientDet在分类和回归卷积层使用参数共享的方式,减少模型参数量,即大部分卷积层在进行特征计算时,使用同一卷积核参数。但是分类和回归的BN层是相互独立的。BoxNet具体结构如表3-2所示。表3-2BoxNet结构BoxNetOperaterchannellayers1DConv,BN,Swish642DConv3213Reshape(-1,4)41如表3-2所示,BoxNet的网络结构由深度卷积层和Reshape层构成,其中第一阶段深度卷积层具有不同初始化的BN层,其激活函数为Swish函数。从BiFPN获得的5个特征图依次进入第一阶段的深度卷积层,进行特征融合,此阶段共有层卷积,可以通过公式计算得出。特征融合后经过第二个DConv对先验框进行调整,每个特征图有9个先验框,调整4次,输出36个通道。最后一层对上层输出进行维度调整,分别输出4个调整结果,每个调整结果是一个一维向量。ClassNet的具体结构如表3-3所示。表3-3ClassNet结构ClassNetOperaterchannellayers1DConv,BN,Swish642DConv9numclass13Reshape(-1,numclass)numclass14Sigmoidnumclass1如表3-3所示,ClassNet结构与BoxNet十分相似,区别在于,第二阶段DConv通道数为9numclass,numclass是数据集分类个数,以及在最后增加一个Sigmoid激活函数将预测结果调整为0到1之间,表示每个类的概率。数据集KiTS2019数据集是一个图像分割数据集,没有目标检测标签数据集,无法训练目标检测网络,需要制作适用于检测网络的标签数据集。标签数据集制作制作标签数据集,需要对图像进行标注。图像标注使用LabelImg标注工具。使用过程为,导入图片,画出目标框,选择标签名称,保存文件,具体过程如图3-5所示。图3-5LabelImg制作完成的标签是一个XML文件,文件内容格式如图3-6所示。图3-6检测数据集标签图3-6是一个已经制作好的标签数据,其主要内容为对应图片名称、图片维度大小、标签名称、box坐标参数等信息。训练目标检测网络主要使用标签名称和坐标参数。通过坐标参数定位目标中心位置,生成用于网络训练的先验框,利用标签名称完成目标分类。数据扩充Kits19数据集共有210例病人数据,60000多张切片。其中只有5814张图片包含肿瘤,可以用于制作标签数据,而且制作标签文件非常耗费时间,需要采用数据增强方法增加数据量。本文最终选用仿射变换的方法进行数据扩充。任何的仿射变换都可以理解为图像的像素矩阵与一个变换矩阵相乘或相加的过程。所以仿射变换具有可逆性,即图像经过仿射变换后依然可以变为原始图像。仿射变换经常被用于图像数据集的扩充,用于增加数据集样本数量,增强样本多样性,使网络的泛化性和鲁棒性增强。常用的仿射变换方法有:拉伸、收缩、旋转、反转等。其中,正常肾脏器官的大小在任何CT图像中都是固定的,而收缩会改变正常器官的大小,所以不能用收缩的方法扩充数据集。所以本文最终选用旋转、翻转的方法进行数据扩充。图片数据扩充结果如图3-7所示。图3-7中(a)为图片旋转,(b)为图片翻转,(c)为图片翻转后旋转。(a)(b)(c)图STYLEREFu正文1级标题\n3-7数据集扩充完成图像数据集增强后,还需要对XML标签数据集进行增强。标签数据集增强,需要重新计算放射变化后的box坐标。图3-6中box坐标参数对应于目标框的左上点和右下点在图片中坐标,通过这两个坐标可以计算出目标框四个角和中心坐标,从而在图像上显示目标范围。坐标数值大小与其对应像素点在图片中的位置坐标参数大小一致。图片中像素点的坐标分布如图3-8所示。图3-8图片像素点坐标分布图3-8是一个维度大小为的图片。从图中可知像素点起始坐标为左上顶点,在右下点达到最大值。假设box参数为,,,,图片左右翻转时,和保持不变,翻转后的和可由公式3-8计算。(3-8)式3-8中,为翻转后坐标,m为图片的宽度。图片旋转对应坐标参数的计算,可由以下公式3-9、3-10计算。(3-9)(3-10)式3-9、3-10中m和n为图片的宽、高,为旋转的度数。理论上只需要计算对角线两个点的坐标,就可以定位目标位置。而在实际应用中,需要计算目标框四个角的坐标值,然后取其中,的最大值和最小值,获得左上点和右下点坐标。实验与分析实验环境实验环境决定网络模型的训练时间和训练样本的容量。本实验训练环境为Windos10,CPU为Inteli7处理器,GPU为NVIDIARTX2070。数据处理、模型训练以及预测代码均用Python3.6编写完成。模型训练框架为Keras,编辑器为Pycharm。具体软硬件配置如表3-4所示。表3-4软硬件配置表Name参数CPUInteli7-8700GPUNVIDIARTX2070Memory16GBOperatingsystemsWindows10Python版本Python3.6深度学习框架Keras编辑器Pycharm模型训练由于实验环境限制,以及模型大小和准确率的综合考虑,本节选用EfficientDet-D0进行网络训练,同时训练FasterRCNN模型作为实验对比模型。通过LabelImg在Kits19数据集中随机调选出1300张切片,进行人工标注。这些切片的90%,即1170张图片作为模型训练数据集,其余130张切片作为验证集。训练集数据继续以进入模型前会进行随机数据强,随机概率为0.5。数据增强方法在本章3.2.2中已有介绍。训练EfficientDet-D0,使用EfficientNet-B0作为预训练模型参与训练。训练FasterRCNN使用Resent101作为预训练模型。其余训练参数保持一致,具体训练参数如表3-5所示。表3-5训练参数参数名称数值Base_lr0.0001Batch_size6Epoch100Monitor=lossReduce_lrFactor=0.5Patience=3Monitor=lossEarly_stoppingmin_delta=0.0001Patience=10表3-5中,超参数batch为6,Epoch上限为100。由于预训练模型参与训练,初始学习率设置为0.0001。权重衰减系数为0.5,衰减时间为3epoch,即在连续3epoch时间内,loss不下降,则学习率衰减为原来的0.5。使用Early_stopping参数,min_delta=0.0001,Patience=10,即在loss变化小于0.0001持续10个epoch时,训练自动停止,防止过拟合。实验结果与分析模型训练的好坏通常用训练过程中的Loss曲线图判断模型是否收敛,以及模型是否进行有效训练。具体训练Loss曲线如图3-9、3-10所示。图3-9EfficientDet-D0的Loss曲线图3-10FasterRCNN的Loss曲线从图3-9、3-10中可以看出,相比FasterRCNN,EfficientDet-D0的loss收敛速度更快,在96epoch时模型以经收敛,触发Early_stopping参数自动停止训练。FasterRCNN的loss在72epoch基本收敛,此后一直存在小幅振荡情况,直到100epoch停止训练。从收敛效果来看,EfficientDet-D0收敛效果更好,loss下降接近于0,而FasterRCNN的loss收敛于0.05左右。模型训练完成后,需要用评估指标对模型的效果进行评价。常见的评价指标有MPA、、IOU等。本文选择F1-score作为模型主要评价指标,其计算公式如式3-11所示。(3-11)式中precision是精确率,表示检测类别是肿瘤且标签也是肿瘤的部分占所有检测器检测出肿瘤的比例。recall表示检测器检测为肿瘤且实际标签为肿瘤占检测器检测正确的比例。precision和recall的计算公式如式3-12、3-13所示。(3-12)(3-13)式3-12、3-13中TP表示预测肿瘤,标签也是肿瘤;FP表示标签不是肿瘤,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论