基于机器视觉及深度学习的静脉药物调配机器人药瓶识别
2022-09-19滕臻崔国华高鹏陈奇
滕臻,崔国华,高鹏,陈奇
(1.河北工程大学机械与装备工程学院,河北邯郸 056038;2.上海工程技术大学智能机器人研发中心,上海 201620;3.深圳市博为医疗机器人有限公司,广东深圳 518000;4.广东省人民医院,广东广州 510080)
0 前言
静脉药物调配机器人主要为了解决人工配置过程中存在的环境不达标、有毒药物挥发危害配药人员健康、劳动强度大、效率低等问题。同时达到比现存类似机器人体积小、效率高、配置过程更加稳定的目的,代替配药人员自动完成静脉输液药物的配置。静脉药物调配机器人代替了人工配药,将药师和医护人员从繁忙的手动配药中解放出来。主要功能为开启安瓿瓶和西林瓶,并利用注射器抽取、混合瓶内药物,然后将混合药液注入输液袋中,从而可以直接拿给病人滴注使用。静脉配药机器人主要用来配置化疗药物等有毒药物,必须要保证配药的成功率及安全性。
静脉药物调配机器人主要由机械臂模块、安瓿模块、注射模块、溶媒模块、振动模块、计量模块、药品台模块及外围模块组成的。五自由度的机械臂起到运输药瓶的作用,视觉识别完成后,机械臂从药品台夹取药物运输到各个模块。药瓶分为安瓿瓶和西林瓶两类,两种药物配药流程不同。静脉药物调配机器人的操作流程是:药师扫描处方二维码,配药机器人上位机获得配药信息;药师按照上位机的提示将药物按顺序放入药品台,然后点击“配药”按钮,药品台开始移动到视觉识别位置;视觉识别完成后,静脉配药机器人开始根据不同的药物进行相对应配药流程。在PIVAS(静脉药物配置中心),药师每天会使用配药机器人配置大量的药物,医护人员在使用配药机器人时,可能会放错或漏放药物。安瓿瓶药物与西林瓶药物的配药流程不同。若放错药物,可能会导致配药失败。化疗药物如果在配药仓中破裂洒到内部模块上,由于配药仓空间狭小,医护人员在清理时会非常不方便和危险。
视觉识别的应用能够有效提高配药的成功率。在配药机器人上,传统的视觉识别是基于朴素贝叶斯分类,首先对采集的图片进行分割、灰度化处理、膨胀腐蚀、边缘提取等一系列操作,然后通过贝叶斯分类算法识别药瓶种类。这种药瓶识别方式有很大的缺陷:受环境干扰性大,必须在稳定背景光源下识别成功率才能达到标准。随着深层神经网络结构的发展,目标检测领域得到了新的关注,并且在不断发展。本文作者以识别药瓶为研究对象,提出了一种基于YOLOv5s的静脉药物调配机器人识别药物的算法,实现了对药瓶的高效识别。该方法有效提高了配药机器人的配药成功率。
1 YOLOv5s网络模型结构
YOLOv5网络是YOLO体系结构系列的最新产品。YOLOv5网络包含4种不同的体系结构,分别是YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x。YOLOv5通过depth multiple和width multiple两个参数来改变网络的深度和宽度。其中,YOLOv5s是这4个网络模型中深度和宽度最小的网络,因此YOLOv5s具有很强的灵活性,并且YOLOv5s网络具有模型尺寸小和检测速度快等优点,同时降低了识别模型的部署成本。本文作者选择 YOLOv5s 作为药瓶检测和分类的模型,在自己制作的药瓶数据集上对网络进行训练,利用训练完成的YOLOv5s实现药瓶的自动分类。
YOLOv5的整体布局与YOLOv4相似,同样将网络结构划分成输入端、Backbone、Neck、Prediction 4个部分。如图1所示,输入端:YOLOv5采用Mosaic数据增强方式,并加入了自适应图片缩放与自适应锚框计算。Backbone:采用Focus结构,CSP结构。Focus是主干网的第一层模块,其目的是减少模型的计算量,加快训练速度。其原理是使用切片操作将输入的3通道608×608×3的图像分割成4个切片,每个切片的大小为304×304×3,再利用concat模块将4个部分进行深度连接,输出特征图大小为304×304×12;然后通过由32个卷积核组成的卷积层,生成大小为304×304×32的输出特征图;最后,通过BN层与Hardswish激活函数将结果输出到下一层。YOLOv5中设计了两种不同的CSP结构,分别是CSP1-X结构和CSP2-X结构。主干网络中采用CSP1-X结构,它的目的是更好地提取图像的深层特征。主干网的最后一层是SPP模块,该模块通过将任意大小的特征图转换为固定大小的特征向量来提高网络的接收场。Neck:YOLOv5采用FPN和PAN结构。颈部网络中采用的是CSP2-X结构。颈部网络是组合与混合图像特征的特征聚合层,主要用于生成特征金字塔网络(FPN),然后将输出的特征映射传送到检测网络。YOLOv5采用了一种新的FPN结构,增强了自底向上的路径,提高了底层特征的传输,增强了对不同尺度目标的检测。Prediction:采用GlOU-Loss作为损失函数,检测网络主要用于模型的最终检测部分。
图1 YOLOv5s结构
2 YOLOv5s网络模型训练
此次实验自制一个数据集,首先手动拍照采集1 200张图片,并用labelImg软件进行标定。从1 200幅图像中随机抽取1 000幅图像作为训练集,100幅图像作为测试集,其余100幅做验证集。其次,为了提高药瓶目标识别模型的训练效率,对训练集的1 000幅图像进行了压缩,将其长度和宽度压缩到原来的1/4。
由于数据集较小,为了提高药瓶目标检测模型的泛化能力,利用MATLAB软件的图像处理功能,分别对训练集的1 000幅图像采用了几种图像增强方法。图像增强方法包括图像亮度增强和降低、垂直镜像、水平镜像、多角度旋转(90°、180°、270°)等。考虑到相机在图像采集过程中产生的噪声以及采集到的图片由于采集时相机的抖动而产生的模糊,在图像中加入方差为0.01的高斯噪声,进行运动模糊处理。
此次实验具体实验配置如表1所示。
表1 目标检测实验环境配置
此次研究采用端到端的随机梯度下降法(SGD)训练YOLOv5s网络。将模型训练的BatchSize设置为16,每次由BN层进行正则化以更新模型的权重。动量因子设定为0.9,衰减系数设定为0.000 5,权值的初始学习率设定为0.01。将训练次数设为300次,训练后保存识别模型的权值文件,利用测试集对模型的性能进行评价。
图2为tensorboard可视化显示训练和测试结果。其平均精度均值(mAP)、召回率(recall)、查准率(precision)和损失函数(giou_loss)如图2所示。YOLOv5s刚开始的损失函数值较小,在训练100轮左右趋于稳定,损失曲线如图2(d)所示,损失值在网络训练的前50个阶段迅速下降,并且基本上在训练100个阶段后趋于稳定。召回率的曲线表明模型训练良好,没有过度拟合。本文作者以经过300次训练后的模型输出作为静脉配药机器人的药瓶目标识别模型。
图2 模型训练阶段验证损失
3 测试结果与分析
实验的硬件环境如图3所示,以具有独立层流的配药机器人内部作为测试场景。工业相机与背景光源之间距离约600 mm,药瓶放置于背景光源之前。通过工业摄像头,可以一次进行12只药瓶的识别和测量。外部光源采用机器人内部的照明光源,从左上方照射。背景光源和外部光源均20级可调。
图3 不同类型药瓶识别实验环境
对比实验分别采用背景光源和外部光源情况下,采用基于贝叶斯方法的药瓶分类以及基于YOLOv5s分类方法进行实验。采用外部光源情况下,如图4所示,由于光线照射角度不一致、物品之间的遮挡等因素,产生很多明暗不同的情况,且对于透明的安瓿瓶,其视觉效果接近人的视觉,不容易从背景中分离出来。而采用背景平行光源的情况下,如图5所示,药瓶轮廓呈明显的黑色,药瓶较容易辨识。
分别在外部光源和平行光源条件下改变曝光度,在每个不同曝光度下进行20次对比实验,每次放置12个药瓶到药品台。准确率等于所有识别成功的瓶数除以总瓶数。结果绘制如下:图6为采用外部光源情况下的实验结果;图7为采用背景平行光源的情况下的实验结果。
图4 采用外部光源的实验效果
图5 采用背景平行光源的实验效果
图6 外部光源不同曝光度对识别准确率的影响 图7 背景光源不同曝光度对识别准确率的影响
通过对比可得:
(1)在采用外部光源的情况下,基于朴素贝叶斯方法的药瓶分类效果明显差于基于深度学习方法的效果,尤其在透明安瓿瓶的识别上,识别率更低。
(2)在采用背景平行光源的情况下,贝叶斯方法在曝光度40~80之间时,可实现与深度学习方法相同的识别率。在曝光度过低或过高的情况下,基于贝叶斯分类器的算法不能完整提取出药瓶轮廓,贝叶斯方法识别率下降更迅速。
(3)外部光源和背景光源曝光度在过低、过高区域时,两种方法均会出现识别率下降的情况。在有背景光源条件下,高曝光度会导致两种方法识别率快速下降,过高的曝光度会造成贝叶斯方法完全识别不出药瓶。
(4)采用深度学习方法的药瓶识别对于光源的敏感度相对较低,尤其在50~100曝光度范围,两种光源情况下识别率基本一致。
基于上述实验效果,可以得出在针对药瓶类型的识别中,YOLOv5s比传统的药瓶识别技术识别正确率更高、抗干扰性更强、鲁棒性更好。基于贝叶斯分类器的识别方法必须在光源合适的时候才能保证识别的正确率。YOLOv5s的应用场景更广,可以在不具备较高光源条件的情况下使用。
4 结论
针对不同工作环境下的静脉药物调配机器人对药瓶类型的识别,分别提出了采用基于机器视觉和贝叶斯方法的识别方法,以及基于深度学习YOLOv5s框架的识别方法。并深入研究了两种方法在外部光源、背景光源不同情况下的识别效果。
通过对比可以得到结论,基于YOLOv5s网络的药瓶分类检测模型在不同光照、角度等条件下,检测准确度高、实时性强、鲁棒性高。可以使用在更多的任务场景下,如不具备背景光源条件的台式配药机器人、不具备布置背景光源的工序上。但在对于药瓶尺寸的精准测量上,基于机器视觉的方法配合背景光源仍是重要的非接触式测量方法之一。药瓶的识别、尺寸的测量作为机器人配药的中间环节之一,应根据不同机器人的使用场景、方式、目的进行灵活选择。