基于改进YOLOv5s网络的实时输液监测

2023-01-31 03:36陈镇国胡国清付西敏戈明亮
计算机工程与设计 2023年1期
关键词:滴管液滴输液

陈镇国,胡国清+,付西敏,陈 佳,戈明亮

(1.华南理工大学 机械与汽车工程学院,广东 广州 510640;2.广东寰宇智慧医疗科技有限公司研发部,广东 广州 510520;3.广东药科大学 中医学院,广东 广州 528458)

0 引 言

在医院里,静脉输液作为一种常见的治疗方法,以人工监护方式为主[1]。但人工监护的方式存在两大问题:一是监护人容易因疏忽而对患者造成危险;二是监护人工作负担较大[2]。因此,设计一套高可靠性、高智能化的实时输液监测系统成为一个研究热点。现有的输液监测方法按监测原理不同,可分为基于非视觉传感器的输液监测方法和基于视觉传感器的输液监测方法。

(1)常见的基于非视觉传感器的输液监测方法有基于电容式传感器的输液监测方法[3]、基于RFID传感器的输液监测方法[4]、基于压力式传感器的输液监测方法[5]和基于光电式传感器的输液监测方法[6]。这类输液监测方法存在两大共同缺点:一是无法同时监测输液速度和输液余量;二是监测精度易受到外部环境干扰。

(2)基于视觉传感器的输液监测方法通过相机来监视输液速度或输液余量。Giaquinto等[7]提出了一种液滴分类网络模型用于计数,以监测输液速度;Huang等[8]提出了一种基于YOLOv3的输液液位检测模型,用于监测输液余量。但都存在两类问题:一是只实现对输液速度或输液余量的监测;二是模型存在缺陷,无法实时监测。

由于传感器自身缺陷、算法鲁棒性差和实时性差等因素,现有输液监测方法依旧存在诸多问题。随着人工智能+智慧医疗领域兴起,基于深度学习目标检测技术的输液监测系统具有重要的研究意义[9]。YOLO系列算法[10-13]作为经典的目标检测算法,在多目标实时检测领域具有重要地位和研究价值[14]。本文从YOLOv5s的Input、Backbone、Neck和Prediction这4个方面对输液模型进行改进优化,并提出了一种液滴计数方法和余量判断方法。基于深度学习的输液监测方法能够较好地改善复杂输液环境下的检测算法鲁棒性,能实现高精度实时监测输液速度和输液余量。

1 YOLOv5s网络模型

YOLOv5(you only look once)是由Ultralytics公司的Glenn jocher提出[15]。根据网络宽度和深度的不同,YOLOv5网络模型可分为YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x这4种。为了实现网络模型轻量化,本文以网络宽度和深度最小的YOLOv5s为改进对象。

YOLOv5s网络包括Input(输入端)、Backbone(主干网络)、Neck(瓶颈端)和Prediction(预测层)四大部分。相比于YOLOv3和YOLOv4,其创新点如下:

(1)Input端,采用Mosaic数据增强丰富数据集,提高网络模型对小目标的检测能力;

(2)Backbone端,使用Focus模块进行下采样操作,以防止信息丢失;网络采用C3模块来替换CSP(cross stage partial)模块,进一步提高网络模型的学习能力;

(3)Neck端,通过FPN(feature pyramid networks)+PAN(path aggregation network)多路径聚合特征融合技术,提升网络模型对目标信息中语义特征和位置特征的提取能力。

(4)Prediction端,边框回归损失函数运用CIoU-Loss(complete intersection over union,CIoU)来提高候选框的回归速度和定位精度。后处理中,使用NMS(non-maximum suppression)方法来消除冗余候选框。

2 本文方法

输液监测时,算法对目标检测的处理速度要求不高,因此,本文着眼于参数量大小和检测精度之间的平衡。为了提高网络模型对液滴、液位以及滴管的检测精度和降低网络模型的参数量大小,本文通过对YOLOv5s网络中的Input、Backbone、Neck以及Prediction这4个模块的改进,设计了一种基于改进YOLOv5s的输液检测网络模型,如图1所示。

图1 基于改进YOLOv5s的输液检测网络

2.1 输液检测网络Input端

由于目标液滴易受到管壁内相似环境的干扰,为此引入Mixup数据增强[16]用于丰富输液数据集,降低液滴对环境的敏感性。Mixup是将两张图像的输入向量和标签按比例进行融合,达到数据增强的效果。

(1)

其中,xi,xj为图像的输入向量,yi,yj为图像对应的标签,λ~Beta分布。

本文将Mosaic数据增强和Mixup数据增强按一定比例进行融合,提高网络的泛化能力,防止过拟合。融合效果如图2所示。

图2 数据增强效果

2.2 输液检测网络Backbone端

2.2.1 激活函数

神经网络中,引入激活函数可以增加复杂模型的非线性,提高复杂模型的表达能力。YOLOv5s网络现采用Swish[17]激活函数,与原有的LeakyReLU激活函数对比发现,激活函数的改进对检测精度具有提升效果。

ACON(activate or not)是一种可以学习是否激活神经元的激活函数[18],是Swish的一种扩展,具有动态非线性度,都属于最大值函数max(x1,…,xn) 的变体。对最大值函数进行平滑处理,平滑函数定义如下

(2)

式中:α为是否激活神经元的控制因子。

当n=2时,式(2)表示为

(3)

Sα(x1,x2)=x1×σ[α(x1-x2)]+
x2×σ[α(x2-x1)]=(x1-x2)×σ[α(x1-x2)]+x2

(4)

当x1=x,x2=0时,式(4)变为Swish激活函数

Sα(x,0)=x×σ(αx)

(5)

当x1=ax,x2=bx(a≠b) 时,则式(4)变为ACON-C激活函数

Sα(ax,bx)=(a-b)x×σ[α(a-b)x]+bx

(6)

为了进一步提升激活函数对检测精度的影响,本文使用ACON-C激活函数来替换Swish。相比于Swish,ACON-C具有可学习的上界和下界,由a和b决定。可学习的上界和下界是ACON-C激活函数对网络结构起改进作用的关键。

2.2.2 基于EfficientNetV2改进的轻量化主干网络

EfficientNetV2是一种结合了训练感知神经架构搜索和缩放的轻量化网络,较好地平衡了精度、训练速度和参数量之间的关系[19]。网络前期,EfficientNetV2网络通过使用Fused-MBConv结构代替EfficientNet[20]网络中的MBConv结构,以解决精度下降和训练速度变慢的问题。Fused-MBConv通过3×3普通卷积来替换MBConv中的1×1普通卷积和3×3深度可分离卷积,MBConv和Fused-MBConv的网络结构如图3所示。

(其中:①Conv=conv+BN+SiLU;②DWConv为深度可分离卷积;③SE为注意力机制;④r为扩展因子)图3 MBConv和Fused-MBConv结构

EfficientNetV2利用训练感知神经架构来自动搜索用MBConv和Fused-MBConv的最佳组合,并得到了4点优化组合原则:

(1)在网络的早期,使用Fused-MBConv结构,来提高精度和训练速度;

(2)使用非均匀缩放策略,在网络后期逐步添加更多的层;

(3)对扩展因子r的最大值进行限制,降低参数量;

(4)网络使用3×3的卷积核,用更多的层补偿感受野的减小。

为了使输液检测网络更加轻量化、检测精度更高,借鉴 EfficientNetV2网络设计思想,构建了一种基于EfficientNetV2的轻量化Backbone网络,见表1。

表1 轻量化Backbone网络

2.3 输液检测网络Neck端

SE(squeeze-and-excitation)注意力机制是由Hu等[21]提出,如图4所示。SE模块学习网络通道之间的相关性,筛选出针对通道的注意力,使输液检测网络能选择性地学习重要的信息特征并抑制不重要的特征。

图4 SE模块

如图5所示,为了进一步提高网络对小目标液滴的检测能力,本文在Neck端生成特征金字塔阶段前嵌入SE模块,以加强网络对液滴特征的重视程度。

图5 FPN+PAN+SE结构

2.4 输液检测网络Prediction端

输液检测时,存在两大问题:一是液滴易受到管壁上水珠的干扰与遮挡;二是液位与滴管具有相似特征。在YOLOv5s网络Prediction端的后处理过程中,常用NMS方法来筛选冗余候选框。而NMS方法对遮挡干扰问题和相似特征问题的处理效果不佳。本文提出使用Cluster-NMS方法[22]解决输液检测中NMS方法存在的缺点。Cluster-NMS将候选框进行隐式分组,划分为集群,再对每个集群进行冗余候选框筛选。该方法充分利用了矩阵运算的高效性,以更少的迭代次数、更快的推理速度完成对冗余候选框的筛选工作。本文在Cluster-NMS方法中引入了加权平均[23]惩罚项和中心点距离[24]惩罚项,来提高输液目标的识别准确率和定位精度。

3 输液监测方法

静脉输液套件由输液瓶、输液软管、莫非氏滴管、流速调节器和注射针等部件组成。本系统使用相机来监视莫非氏滴管内的滴注情况,如图6所示。

图6 输液监视原理

静脉输液时,存在着诸多威胁患者生命的安全隐患,最为常见的输液隐患有两类:一是输液速度过快或输液速度过慢引起患者身体不适;二是输液完成后未及时进行止液,导致空气进入患者血管,严重时会使患者呼吸困难。因此,为预防突发情况对患者生命安全造成危险,本系统对输液速度和输液余量进行实时监视。

(1)输液速度

医学上,输液速度以莫非氏滴管内液滴每分钟滴落的次数为衡量标准

(7)

式中:Q为输液速度(gtt/min),N为单位时间内液滴下落的次数。

静脉输液时,药液先在壶嘴处形成液滴,在表面张力的作用下,会使液滴的体积不断增大,当液滴自身重力大于表面张力时,液滴会从壶嘴处分离并快速下落。由于普通相机无法捕捉到快速下落的液滴形状,导致无法通过识别空中下落的液滴来进行计数。如图7所示,观察发现,当壶嘴处的液滴下落时,立即会有新的液滴在壶嘴处形成。根据此现象,本文提出一种判断液滴下落的新方法,通过实时检测壶嘴处液滴面积的变化来进行计数。

图7 判断液滴下落原理

(2)输液余量

由于相机与莫非氏滴管的距离不确定,为了定性分析莫非氏滴管内液位情况,如图6所示,本文以莫非氏滴管内液位的高度与莫非氏滴管高度之比S来分析输液余量状况

(8)

式中:h为液位的高度,H为莫非氏滴管的高度。

本文通过对高度比S的判断,如式(9)所示,实现对输液余量进行实时监测

(9)

4 实 验

4.1 输液数据集制作

图8 复杂输液场景图像

4.2 检测实验结果与分析

为了验证本文设计的输液检测网络的性能,实验以平均精度均值(mean average precision,mAP)作为评价指标,其值越大表示检测精度越高。

本次实验的运行环境:CPU:Intel Core i5 10400F;GPU:GeForce RTX 2060 SUPER;操作系统:Ubuntu 20.04 LTS;内存:8 GB;深度学习框架:Pytorch。

网络模型训练采用SGD(stochastic gradient descent)优化算法,将初始学习率设为0.01,按余弦退火策略调整学习率,Batch大小设置为8,epoch设置为500,输入图像大小调整为512×512,动量因子设置为0.98。

为了验证本文提出的输液检测网络的有效性,以YOLOv5s网络为比较对象,依次引进不同改进模块替换掉YOLOv5s中相对应的部分。

由表2可知,相比于原网络模型,以基于EfficientNetV2改进的轻量化网络作为主干网络时,网络参数量大幅度下降,mAP提升了0.2%。在此基础上,依次对瓶颈端的特征融合、预测层的冗余候选框筛选和激活函数进行改进,在参数量微量增加的情况下,mAP提高了0.8%。

表2 基于YOLOv5s网络各模块改进的mAP和参数量对比

表3对比了现有多目标检测方法的参数量大小及相应方法在输液数据集上的平均精度均值。相比于其它检测算法,Ours方法在检测精度和参数量大小之间取得了更佳的平衡结果。本文算法的参数量大小为最低的4.88 million,mAP达到了最高,为93.5%。这表明了所提出的方法能够更加有效地应用于输液检测中。

表3 各种检测方法mAP和参数量大小对比

为了观察到体积变化明显的液滴,实验时,相机(帧率:30帧)每隔3帧采集一张图像,若要满足实时输液监测,则算法的检测速率需达到10 f·s-1以上。如表4所示,相比于YOLOv5s网络模型,在满足实时输液检测的前提下,所提出的网络模型在参数量下降了31%的情况下,mAP提升了1%,精确度和召回率也都提升了0.2%。通过剪枝等模型大小优化操作,模型大小为10.1 MB,轻量化的网络模型很适合部署到嵌入式设备或移动端设备中。

表4 本文算法与YOLOv5s算法性能对比

为了更加直观地观察本文算法对输液检测的改善效果,将本文算法与YOLOv5s算法对复杂场景输液图像进行检测。如图9(a)所示,对于特征相似的液位和滴管,使用YOLOv5s的NMS方法会出现误检的情况,而Ours网络通过使用Cluster-NMS方法,对候选框进行分组集群,可以有效解决误检问题。如图9(b)所示,当液滴存在部分遮挡时,YOLOv5s算法会出现漏检的情况,而本文算法通过使用更有效的网络模型和引入SE注意力机制,可以有效地检测出被遮挡的液滴小目标。

图9 YOLOv5s与本文算法检测结果对比

4.3 输液速度和输液余量实验

本实验采集不同滴速的输液视频,针对每个滴速,在不同角度、不同光照条件下进行5组实验,用于评估输液算法在合理条件下的性能。如表5所示,在20 gtt/min~120 gtt/min的范围内,能够实现高准确率监测,该算法能够满足实时监测输液速度的要求。

表5 输液速度测试实验

输液余量实验中,采集3个不同输液余量区间的图片各500张,并进行测试。实验结果见表6,算法对输液余量的判断能够达到100%准确。

表6 输液余量测试实验

5 结束语

为了解决现有输液监测方法无法同时监测输液速度和输液余量的问题,本文提出了一种基于YOLOv5s和EfficientNetV2相结合的轻量化实时输液检测网络模型。输液模型中,融合了Mixup+Mosaic数据增强丰富数据集,使用 ACON-C激活函数来改善模型的非线性度,引进SE注意力机制加强对液滴特征的提取能力,并采用Cluster-NMS分组集群方法区分液位和滴管特征。实验结果表明,本文算法在检测精度和参数量大小之间取得更优的平衡,算法模型大小为10.1 M,mAP达到了93.5%。在复杂输液环境下,能够检测出存在部分遮挡的液滴和区分出相似的液位和滴管特征。

本文还提出了一种测定输液速度和输液余量的新方法,利用壶嘴处液滴的面积变化来测量输液速度,以解决普通相机无法清晰捕捉快速下落液滴,导致不能根据检测下落的液滴状态进行精准计数的问题。并通过液位与滴管的高度比定性地判断输液余量状况,能够很好地提醒医护人员进行换瓶、拔针等。

猜你喜欢
滴管液滴输液
滴灌浇花器
自灸也能预防输液发热反应
液滴间相互碰撞融合与破碎的实验研究
喷淋液滴在空气环境下的运动特性
牙签变星星
六合丹防治输液性静脉炎的Meta分析
输液时短细管中为什么没有药液流出
颈枕输液袋
基于二元液滴碰撞模型的喷雾计算研究
输液时莫菲滴管下端空气排净法经验介绍