APP下载

基于YOLOv5s 的穿刺针目标检测方法

2023-06-16张春堂

现代电子技术 2023年12期
关键词:针体穿刺针模块

袁 哲,张春堂

(青岛科技大学 自动化与电子工程学院,山东 青岛 266061)

0 引 言

在超声引导的穿刺手术过程中,准确判断超声影像中穿刺针的位置是非常重要的一环[1]。由于微创手术中使用的穿刺针通常较细,所以影像中的穿刺针目标小,容易受伪影干扰,医生很难及时判断穿刺针的行进路径以及到达位置,一旦判断有误则会引起严重的医疗事故。传统的穿刺针位置判断主要依靠临床医生的个人经验,对医生的专业性要求很高。因此,为了提高手术成功率和效率,在超声影像中自动地实时检测穿刺针的位置十分必要。

目前穿刺针检测和定位方法可分为基于硬件的方法和基于软件的方法。基于硬件的方法主要包括电磁跟踪[2]、光学跟踪[3]和针尖嵌入传感器[4-5]。基于硬件的方法成本相对较高,而且对使用环境要求苛刻。基于软件的方法包括三维超声[6]、基于投影[7]和直线检测[8]等方法,这些方法依赖针体和针头在影像中的清晰度,检测速度较慢,一旦针体和针头在影像中的呈现质量较差,这些方法就变得不可靠。

近年来,随着深度学习的快速发展,将深度学习目标检测算法应用于穿刺针的检测已成为主要趋势。M. Arif 等人开发了一种基于简单神经网络的实时检测针尖方法,然而该方法对运动伪影的鲁棒性较差,而且不能检测针体[9];Gao Jun 等人提出了一种新的基于深度学习和波束偏转的穿刺针定位与增强算法,该方法提高了穿刺针的检测精度,增强了针体的可视化[10]。但是该方法算法较为复杂,处理时间相对较长,在含有其他伪影干扰的情况下,检测表现不佳且很难定位穿刺针较短的目标;Xu 等人提出了一种新的二维超声图像中穿刺针的检测算法。该方法首先通过滤波抑制了超声影像中的散斑,然后利用MLESAC 算法迭代对针轴位置进行识别和分割,最后在图像中给出了穿刺针的路径[11]。该方法并没有把针体和针头区分开,也不能很好地辅助临床医生判断针的位置。

虽然有很多学者将深度学习的方法应用于穿刺针的检测,但大多数都是在以R-CNN[12-13]为代表的双阶段检测算法基础上进行研究的,存在精确率低、鲁棒性差的问题。以SSD[14]、YOLO[15]等为代表的一阶段检测算法在穿刺针检测的应用研究较少。在目标检测中,YOLO系列算法是应用最广泛的算法,它将整个图像作为网络的输入,直接在输出层对BBox 的位置和类别进行回归,在很多目标检测的应用上,YOLO 的检测速度和精度都有很好的表现[16]。

因此,本文提出了一种基于YOLOv5s[17]的穿刺针检测方法,并在5 种组织器官的穿刺超声影像数据集上进行检测实验。结果表明,该方法即使在穿刺针目标较短和存有较多伪影以及散斑的超声影像中,也能实时、精确地检测出穿刺针,鲁棒性好,能够达到辅助医生判断穿刺针位置的要求,进而提高手术效率。

1 目标检测模型及优化算法

1.1 YOLOv5 模型

目前YOLO 系列算法中应用最多的是YOLOv5,根据模型大小,它可分为YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 四种,其网络结构相同,网络深度和特征图的宽度依次增加,因此检测精度会逐渐提升,但是推理速度依次变慢。由于穿刺针检测对实时性的要求较高,因此本文采用YOLOv5s 作为目标检测模型。YOLOv5s 模型结构如图1 所示。

图1 YOLOv5s 模型结构

Backbone 作为网络的主干部分,包括卷积模块(CBS)、C3 模块和SPPF 三种模块。一个CBS 模块由Conv2d+Batch Normalization+sigmoid linear unit 共同组成,依次对输入进行二维卷积、正则化操作和激活操作;C3 模块是由CBS 模块与残差结构模块构成,残差结构模块的输入经过两次卷积模块,与原值进行加运算,在不增加输出深度的情况下完成残差特征转移;SPPF 模块首先对输入串行采用3 个多尺度的最大池化模块,然后进行多尺度融合,最终将输出恢复到同输入大小一致。

Neck 部分采用FPN[18]+PAN[19]的结构,具有自上而下、自下而上的特征融合特点,把Backbone 输出的特征信息进行上采样与高层特征信息进行融合,再进行下采样聚合浅层的特征信息,丰富了图像特征信息。

Head 部分同时输出三个尺度的预测图,分别适用于检测小、中、大目标。以GIoU_loss 作为图像边界框回归的损失函数,然后通过非极大抑制(NMS)对产生的目标框进行筛选,最终输出置信度最高的预测类别,并返回边框坐标。

1.2 优化算法

在神经网络训练的过程中,模型的优化算法选择直接关系到最终模型的性能,以及是否能够使模型快速寻找最优解。目前YOLOv5 中常用的优化算法为随机梯度下降算法(SGD)和自适应学习Adam 算法。本文在YOLOv5s 中分别使用以上两种算法,并通过实验分析两者对模型性能的影响,选择最优算法。

2 实 验

2.1 数据集制作

因为数据特殊,没有公开数据集,所以在超声科影像医师的指导下,分别在牛肉、猪肝、猪肉、猪心、猪肾上模拟人体穿刺手术,获得超声影像数据。为了尽量模拟手术中的穿刺方向,从不同角度用穿刺针分别在这5 种组织器官中进行穿插,最后从每一个组织器官的穿刺超声影像中选取500 张超声影像,一共2 500 张图像。此外,为了保证样本的多样性,以及满足深度学习大量训练样本的需求,增加模型泛化能力,采用随机缩放翻转、亮度增强、对比度增强的方式进行数据增强,一共得到5 000 张超声影像。5 种组织器官的穿刺超声影像示例如图2 所示。按照4∶1 的比例将数据集分为训练集(4 000 张)和测试集(1 000 张),然后使用Labelimg 软件包对图像中的穿刺针进行标注,类别标签为needle、needlebody,分别表示针头和针体两类目标。

图2 不同组织器官的穿刺影像示例

2.2 模型环境配置

本文训练环境与测试环境同为Windows 11 操作系统,处理器为英特尔i5-12400F,显卡为NVIDIA GeForce GTX 3060,显存为12 GB,运行内存为16 GB。使用Pycharm 编译软件,深度学习框架为Pytorch 1.7.1,解释器为Anaconda Python 3.8,YOLOv5s 的版本为6.0。

2.3 模型训练

YOLOv5s 网络模型训练阶段,使用YOLOv5 COCO数据集上的预训练模型权重进行初始化,并采用模型优化算法进行网络参数更新。Batchsize 设置为16,最大迭代次数设置为150,初始学习率为0.01,并使用余弦退火(Cosine Annealing)实时调整学习率,动量因子设为0.937,置信度阈值设为0.45,非极大抑制阈值设为0.25。

训练时,对YOLOv5s 模型分别采用SGD 和Adam 优化算法,在迭代过程中,模型最终都会达到收敛,但是用SGD 算法的模型平均精度均值(mAP)相对较高,因此,本文给出SGD 优化算法的模型损失值和mAP 随迭代周期的变化情况,如图3、图4 所示。

图3 损失函数值变化曲线

图4 mAP 值变化曲线

由图3、图4 可知,模型在迭代周期100 次以后损失值下降逐渐平缓,mAP 也逐渐趋于稳定,保持在97%左右,且模型没有出现欠拟合和过拟合现象,因此认为模型已经达到稳定收敛。

3 实验结果与分析

3.1 不同优化算法比较

为了验证本文所使用的优化算法的性能,本次实验与Adam 优化算法做比较,以精确度(P)、召回率(R)和mAP 为评价指标,测试结果如表1 和表2 所示。

表1 YOLOv5s+SGD 模型检测结果 %

表2 YOLOv5s+Adam 模型检测结果 %

从表1 和表2 可以看出:对于needlebody 针体检测,YOLOv5s+SGD 模型在精确度、召回率和mAP 上比YOLOv5s+Adam 模型分别高0.3%、0.2%和0.1%;对于needle 针头检测,在精确度、召回率和mAP 上比YOLOv5s+Adam 模型分别高1.7%、2.8%和0.4%。

两种模型在不同组织器官中的超声影像穿刺针检测效果分别如图5~图9 所示。

图5 牛肉中不同优化算法检测效果对比图

图6 猪肉中不同优化算法检测效果对比图

图7 猪肝中不同优化算法检测效果对比图

图8 猪肾中不同优化算法检测效果对比图

图9 猪心中不同优化算法检测效果对比图

通过图5~图9 中模型检测精确度可以看出,本文所提的YOLOv5s+SGD 模型在不同组织器官中对穿刺针的检测效果明显高于YOLOv5s+Adam 模型。因此,本文所选的SGD 优化算法更适合穿刺针的精确检测。

3.2 不同检测模型比较

为了验证本文所提模型算法的有效性,用该模型与其他基于深度学习的目标检测算法进行比较分析,主要与Faster-RCNN、SSD、YOLOv3 和YOLOv4 这四种算法对比。同时为了验证该模型在YOLOv5 系列中的精度水平,与YOLOv5 系列中在公共数据集上检测精度最高的YOLOv5x 做比较。本次对比实验采用mAP、检测速度及训练时间这3 个参数对模型性能进行综合评价,对比实验结果如表3 所示。不同检测模型对不同长度穿刺针的检测效果分别如图10~图12 所示,图上的数值为模型检测得出的精确度。

表3 不同检测模型性能比较

图10 较短穿刺针的检测效果对比

图11 中等穿刺针的检测效果对比

图12 较长穿刺针的检测效果对比

由 表3 可 知:本 文 模 型 与Faster-RCNN、SSD、YOLOv3、YOLOv4 模型相比,mAP 分别提高了47.65%、49.4%、4.4%、7.4%;检测速度上分别提高了118 f/s、50 f/s、90 f/s 和90 f/s;训练时间分别节省了5 h、4 h、3 h 和4 h;与YOLOv5x 模型相比,两者mAP 只相差1.9%,但是在检测速度和训练时间上,本文模型的性能远远高于YOLOv5x。

从图10~图12 检测结果可知:在不同长度穿刺针检测中,YOLOv3、本文模型与YOLOv5x都能较准确地检测到针体和针头,但是YOLOv3 检测精度相对较低;YOLOv4、SSD 与Faster-RCNN 都存在漏检的情况,而且Faster-RCNN 还存在误判的情况;本文模型的检测效果均优于YOLOv4、YOLOv3、SSD 和Faster-RCNN,此外,本文模型与检测精度最高的YOLOv5x相比,最大误差不超过0.1。综上分析,对模型平均精度和检测速度权衡以后,本文选择的YOLOv5s目标检测算法在所有对比算法中表现最优,可以快速准确地识别不同组织器官中的穿刺针,能满足穿刺手术中对穿刺针实时检测的需求。

4 结 语

本文提出一种基于YOLOv5s 目标检测模型,实现对超声影像中的穿刺针实时检测。经过与不同模型算法的实验对比得出,采用YOLOv5s 作为穿刺针目标检测模型具有检测速度快、精确度高的优点,有利于辅助临床医生在手术过程中判断针体和针头的位置。本文实验所使用的数据集都是用动物组织器官模拟穿刺手术得到的,可能会有一些特征与真实的人体穿刺超声影像不符,所以进一步研究将在活体的人体组织上进行试验验证,并且改进网络结构,从而提高检测精度和速度。

猜你喜欢

针体穿刺针模块
仿生低阻力医用缝合针设计与刺穿过程的数值模拟
28通道收发处理模块设计
“选修3—3”模块的复习备考
观察黄褐斑的治疗中采用中医针灸美容针结合体针方法的应用效果
槽型鞘脑穿刺针的设计及动物实验初步结果
液肥穴施肥机扎穴针体与土壤互作仿真分析及试验
浅述“一种可控进针深度的针灸针”
静脉壶插入法在血透结束后穿刺针拔除时的应用
穿刺针针头锋利度检测装置的设计与应用1)
集成水空中冷器的进气模块