基于YOLOv5l 的囊型肝包虫病病灶检测研究*
2022-07-21王正业卡迪力亚库尔班严传波
王正业 ,卡迪力亚·库尔班 ,吴 淼 ,严传波
(1.新疆医科大学 公共卫生学院,新疆 乌鲁木齐 830011;2.新疆医科大学 医学工程技术学院,新疆 乌鲁木齐 830011)
0 引言
肝包虫病,又名肝棘球蚴病,是一种古老的人畜共患病,主要有两种类型的肝包虫,第一种是较为常见的由细粒棘球蚴的虫卵所感染的囊型包虫病,第二种是由多房棘球蚴所感染的泡型包虫病。经济的发展和社会的进步,使得旅游业的发展迅速,人口流动增加,城市宠物及流浪动物的数量不断增长,肝包虫疾病逐渐成为全世界流行的疾病,对世界公共卫生和经济发展造成一定的影响[1]。由于肝囊型包虫病具有典型的超声表现,超声检查在肝囊型包虫病诊断和分型中发挥着重要的作用。而由于超声检查简单、快速、无创、没有辐射、可重复性高,在肝包虫检查中发挥着重要的作用[2]。但超声检查存在着一定的主观差异性,一名合格的超声医师需要经过长期的学习与大量的训练。相比之下,使用深度学习的方法与超声图像结合,可以节约医师资源,缩短报告时常,提高诊断准确率。在过去,目标检测技术被广泛用于超声影像的病灶定位及分类。Zhang 等[3]提出了一种基于注意力门控的接通监督网络,使用较少的像素级标签进行监督训练,对于甲状腺结节钙化区的识别准确率达到了92.1%,已经具有较好的性能。Cao 等[4]系统性地评估了现有几种最新的乳腺病变目标检测和分类方法的性能,发现更好和更有效的卷积神经网络框架是提高乳腺病变检测和分类任务性能的重要因素以及使用迁移学习的方式对乳腺病变进行分类可以有效提升检测性能。虽然已经有很多的文献将深度学习的方法应用于医学图像的分类和检测任务,但在肝包虫病灶定位与分型中对不同方法的性能进行评价的工作还很少,仍有部分学者在肝包虫病分类、病灶分割等方向做出了一定的贡献。但大多数都是基于传统图像处理的方法对图像进行研究[5-7],存在精确率低、误诊率较高的问题,基于深度学习肝包虫病图像处理的研究大多是针对肝包虫病CT 图像二分类的研究[8-11],并没有涵盖肝包虫的5 种分型。此外,超声学检查作为肝包虫病影像学诊断中优先级最高的方法[12],研究基于囊型肝包虫病超声图像的辅助诊断技术也十分必要。因此,本文提出了一种基于深度学习算法和YOLOv5 目标检测模型[13]的方法对囊型肝包虫病五类分型的超声影像进行病灶的自动检测与分类研究,帮助医生快速检测疾病,提高精确率,降低误诊率。
1 数据与方法
1.1 数据集介绍
在超声科影像医师的指导下,本次研究选取来自新疆医科大学各附属医院影像科的囊型肝包虫病超声影像图像,根据世界卫生组织包虫病专家工作组(WHO/IWGE)的指导意见[14],本文将囊型肝包虫病分为5 组。(1)CE1:单囊型,囊内有水样囊液,呈现未圆形或卵圆型的液性暗区,内外壁间有潜在的的间隙界面,暗区可见浮动的光点,称为“囊砂”;(2)CE2:多子囊型,多个小的球形暗影及光环在母囊的暗区内,形成“囊中囊”的影像学特征,B 超检查为“蜂房征”;(3)CE3:内囊塌陷型,肝包虫内壁破裂导致囊液进入内外壁间,形成“套索征”,B 超检查可见收缩内陷,卷曲褶皱,飘游于囊液中;(4)CE4:实变型,这个阶段的包虫退化衰亡,囊液被吸收,囊壁折叠收缩,成干酪样变,B 超检查可见“脑回征”;(5)CE5:钙化型,包虫病长期存在,外囊肥厚,有钙盐沉着,B 超检查可见囊壁呈现絮状肥厚,并伴宽大声影及侧壁身影。本文收集了CE1、CE2、CE3、CE4、CE5 5 种类型共计809名病人2 428 张肝包虫超声影像。
由于本次研究的超声图像是由不同型号的机器所采集的,需要对图像进行预处理操作:(1)对肝包虫图像进行灰度化处理,减少后续的计算量;(2)对图像去噪处理,高斯滤波由于在平滑图像时能尽可能地保留原图像的灰度特征[15],利用高斯滤波处理图像去除图像中小的噪声点,有利于后期模型的训练。经过预处理后的肝包虫超声影像如图1 所示。按照8:2 的比例将数据集分为训练集和测试集,然后使用Labelme 软件包对图像进行标注。
图1 各类型肝包虫病超声图像
1.2 YOLOv5 模型
目前主流的目标检测算法主要包括以R-CNN[16]为基础演变出的各种算法以及以YOLO 系列的不断扩展的算法。大多数以R-CNN 为基础演变的算法为二阶段处理的过程,该类型的算法如Fast-RCNN[17]及Faster-RCNN[18]虽然有着不错的性能,但同时因为其二阶段的特殊性,导致检测速度大大降低。相比之下,YOLO 系列的算法如YOLOv3[19]等为单阶段处理图像,利用了回归的相关思想,使检测的速度有较为明显的提升。YOLO将一张传入的图像网格化,并对每个网格的类概率及边界框进行预测,并且采用非最大抑制(Non Max Supression)的方法将该区域置信度小于阈值的边界框过滤,保证概率最大的边界框被显示。
YOLOv5 模型作为当前YOLO 系列最新的模型,主要有4 种结构相似但宽度与深度各不相同的结构:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x。随着宽度与深度的增加,YOLOv5 模型检测能力也相应地提升,但其检测的速度也逐渐加长,本次研究选用精确度与速度相对均衡的YOLOv5l 模型进行实验。YOLOv5 结构如图2 所示。Backbone 是网络的主干部分,主要包括了Focus 结构和CSPNet 结构,其中Focus 结构将输入的图像分成4份,再通过Concat 方式进行拼接,将图像特征数增加,但每层的信息没有变化,再进行一次卷积操作,将原始608×608的图像转成304×304 的特征图像。CSPNet 参考Densenet中密集跳跃链接的方式,进行局部融合,通过不同层中的特征信息来获得更加全面的特征图。Neck 结构主要是整个网络的融合部分,将提取的特征混合,并传递到预测结构,主要包括两个PANet 结构的特征金子塔结构和自顶向下传递特征的FPN 结构。输出层主要采用了CIOU 作为损失函数,然后通过非极大抑制(NMS)对产生的目标框进行筛选,选取其中概率值最大的预测框。
图2 YOLOv5 模型结构图
1.3 优化算法
在神经网络训练的过程中,往往需要使用优化器进行梯度下降来寻找最优解,目前的优化器大致可以分为三类:(1)基本梯度下降法:主要包括标准梯度下降法(GD)、随机梯度下降法(SGD)及批量梯度下降法(BGD);(2)动量优化算法:包括标准动量优化(Momentum Optimizer)及牛顿加速梯度动量优化(NAG)[20];(3)自适应学习率优化算法:包括AdaGrad 算法、RMSProp 算法、Adam 算法[21]。本次研究选择了当前较为常用的随机梯度下降算法SGD 及自适应学习率Adam 算法进行了实验。
1.4 训练环境设置
本次进行实验所用到的运行环境:CPU 为bcm63xx,GPU 为GTX 1080TI,内存为16 GB,实验采用操作系统为Ubuntu20.04,在PyTorch 框架上进行相应YOLOv5 算法的开发。参数设置如下所示:训练采用SGD 与Adam 优化算法;Batchsize 设置为16;最大迭代次数设置为200;初始学习率为0.001,每迭代50 次,学习率缩小为1/10。
2 实验分析与讨论
本次实验为测试YOLOv5 在囊型肝包虫超声影像中的目标检测性能,同时在Faster-RCNN 网络、YOLOv3 网络及YOLOv5l+SGD、YOLOv5l+Adam 模型上进行了训练,初始参数值设置均相同,本次实验采用总体平均精确率(mAP)、检测速度及训练时间对模型的性能进行一个综合的评价。
2.1 YOLOv5l 模型性能分析
如图3 所示,通过设置不同的IOU 阈值,测试网络模型在推理时的性能,结果显示不同IOU 取值对各模型平均精度均值影响较小。IOU 为0.6 时相对较多的病灶区域被检测到,模型取得了最好的性能,因此本实验选择IOU 阈值为0.6 来评估模型推理时的性能。
图3 不同IOU 性能表现
如表1 所示,通过对几种不同的模型进行测试,YOLOv5l+SGD 模型与Faster-RCNN、YOLOv3 模型相比平均精度均值分别提高了6%和1.8%,另外帧数、训练时间指标中都取得了更好的结果,在表中该网络模型在检测速度上拥有较大的领先,并且具有更少的模型训练时间。YOLOv5l+SGD 算法与YOLOv5l+Adam 算法相比平均精度均值提高了6.3%,检测速度也有所提高。不同的网络模型对肝包虫病灶检测效果如图4 所示,以钙化型肝包虫病影像检测为例,YOLOv5l+SGD 网络模型对于病灶的检测效果最好。
图4 不同模型在各类别上的准确率(AP)
表1 基于测试集的检测模型性能比较
2.2 讨论
在不同损失函数、不同优化方案的设计下对训练好的模型进行测试,如图4 所示本次研究纳入的模型都能成功地检测到目标。图中检测框上分别对应有该区域所判定的类别及其置信度。实验发现基于YOLOv5l+SGD的模型在囊型肝包虫病超声学图像上的检测性能优于Faster-RCNN 及YOLOv3。Faster-RCNN 作为二阶段的目标检测模型,在具有较高精度的同时,其检测速度往往较慢,但有文章指出YOLOv3 模型的检测能力及速度均强于Faster-RCNN[22],本次研究显示了同样的结果。YOLOv3引入了多尺度预测的概念提取了更多的图像特征,YOLOv5 模型在此基础上引入了跨阶段局部网络(CSP),解决了网络优化中梯度信息重复的问题,极大地减小了模型的尺寸,提高了准确率,有文献指出YOLOv5 整体性能都优于YOLOv3[23]。本次研究还发现在囊型肝包虫病超声图像检测诊断的任务中基于SGD 为优化算法的模型检测性能远远高于以Adam 为优化算法的模型,Adam 作为目前被广泛使用的一种自适应学习率优化算法,有着较快的收敛速度,但有文章指出该算法可能会在训练后期致使学习率震荡,模型无法有效地收敛,错过全局的最优解。而SGD 优化算法虽然收敛速度较慢,但结果往往更好[24],与本文所得结论一致。不同模型对于囊型肝包虫病超声图像检测准确度如图5 所示,基于YOLOv5+SGD 模型对于5 种类型的囊型肝包虫病灶检测均取得了较好的结果,鲁棒性好。
图5 病灶检测结果
本次实验仍然存在一些不足,如图5 所示,本次研究纳入的所有模型对囊型肝包虫病坏死实变型(CE4)检测效果较差,很大程度影响了模型对于疾病的检测精度,原因可能是坏死实变型肝包虫病超声影像特征不明显,不易区分,下一步的研究将使用更加具有代表性的超声学图像,使用分割算法对病灶区域进行精确划分,以增强模型的泛化能力,提高准确率。
3 结论
本次研究将YOLOv5l 目标检测模型应用于囊型肝包虫病病灶5 种分型的检测与诊断研究,结果发现与Faster-RCNN、YOLOv3 网络模型相比,基于YOLOv5l+SGD的网络在检测性能、检测速度、训练时长上都获得了较大的领先,提示YOLOv5l 模型在囊型肝包虫病病灶识别与诊断研究中具有一定的潜力。在YOLOv5l 模型的基础上同时还探讨了优化算法的不同对于模型性能的影响,结果显示基于SGD 优化算法的模型对于病灶检测的平均准确率可达88.1%,与使用Adam 算法的模型相比取得了较大的领先,SGD 作为一个经典的优化算法在囊型肝包虫超声图像诊断方面具有不可替代的作用。综上所述,本次研究发现基于YOLOv5l+SGD 的目标检测模型在囊型肝包虫病病灶检测任务中获得了最高的检测精度、最快的检测速度及最小的训练时长,能辅助医生更好地完成肝包虫病诊断任务。