张秉文 张岳 何西远
收稿日期:2023-05-26
基金项目:山东青年政治学院校级应用型科研项目(2021yyx-yb05)
DOI:10.19850/j.cnki.2096-4706.2024.04.036
摘 要:智慧医疗是我国医疗界备受关注的领域之一,智能送药设备是其中重要组成部分。智能送药设备可以避免人为原因导致药品发送延误,提高工作效率,保证工作质量。在疫情期间,更是可以有效减少医务人员感染的风险。文章设计了一款基于CNN+OpenCV的智能送药设备,以树莓派3B+作为主控芯片,使用五路灰度传感器等硬件模块,采用Dijkstra算法实现最短路径、OpenCV进行图像处理、CNN实现数字识别,模拟了医院病房送药任务。经过多次测试,设备均能高效地完成送药任务。
关键词:机器视觉;智能送药;CNN;Dijkstra算法
中图分类号:TP23;TP181 文献标识码:A 文章编号:2096-4706(2024)04-0175-05
Design of an Intelligent Medication Delivery Cart Based on CNN+OpenCV
ZHANG Bingwen, ZHANG Yue, HE Xiyuan
(School of Information Engineering, Shandong Youth University of Political Science, Ji'nan 250103, China)
Abstract: Smart healthcare is one of the highly regarded fields in the medical industry in China, and intelligent medication delivery device is an important component within this domain. The device can prevent delays in medication delivery caused by human errors, improve work efficiency and ensure the work quality. During epidemic situation, it can effectively reduce the risk of infection for healthcare workers. This paper designs an intelligent medication delivery device based on CNN+OpenCV. It utilizes the Raspberry Pi 3B+ as the main control unit, uses five-channel grayscale sensors and other hardware modules. It adopts the Dijkstra's algorithm to achieve the shortest path, uses OpenCV for image processing, utilizes CNN to achieve numerical recognition, and simulates medication delivery tasks in hospital wards. Through multiple tests, the device has consistently and efficiently completed medication delivery tasks.
Keywords: machine vision; intelligent medication delivery; CNN; Dijkstra's Algorithm
0 引 言
在我国人口老龄化和慢性病高发的大背景下,智慧医疗日益受到医学界的重视。其中,智能送药系统作为智慧医疗的重要组成部分,它能够提高医院、药店等机构的工作效率,缓解医务人员的工作压力,同时也方便了患者的就医和用药。然而,在过去很长一段时间里,人工送药是最常用的药品递送方式。这种方式虽然简单可靠,但也存在一些局限性和缺点。首先,人工送药存在感染暴露风险;其次,人工送药很难保证时效性;再次,疫情高峰时,人工送药方式也增加了医务人员的工作压力。针对以上情况,本文设计了一款智慧送药设备,来进行无接触智能药物配送[1],减少医务人员感染的风险,减轻医务人员的工作压力。
在智能送药设备研发方面,付书添等[2]研发了一款基于OpenMV视觉系统的智能送药小车,可以完成在有线路轨迹和数字病房號标识的场景中药物的配送任务。孟兆乐等[3]设计的智能送药小车利用Hausdorff算法和NCC模板匹配,实现了数字的识别功能。本文借鉴已有的智能送药设备,研究如何在医疗环境中实现非接触式药品配送,设计出的智能送药设备具有操作简便、功能完善、成本较低等特点,能够更好地支持创新型药品运输方式的实现,有益于智慧医疗系统的建设。
1 系统总体设计
1.1 设计思路
智能送药设备由树莓派3B+[4]主控芯片、循迹模块、超声波避障模块、L298N电机驱动模块、供电模块、数字识别模块、最短路径模块以及前端展示模块组成,其实物照片如图1所示,设备的整体结构如图2所示。
图1 设备实物照片
图2 设备整体结构图
设备的操作流程为:医生输入需要送药的病房号,设备利用最短路径算法计算得出最佳的送药顺序。送药过程中,设备利用循迹模块返回的信号来判断是否到达病房门口,如到达,则进行数字识别,确认病房号码正确后完成送药,然后进行下一个病房的送药,直至送完所有需要送药的病房。在送药过程中,前端地图上会实时显示设备的路径,并提示药品已送达的信息。此外,前端还会展示树莓派和小车的状态信息,反馈设备是否有故障,设备送药的工作流程如图3所示。
1.2 地图规划
为了满足模拟送药的需要,对医院场景进行了特征化的地图构建,以减弱病房形状不规则、非路径障碍物等因素的影响,突出路径与药房之间的几何关系[5]。这样可以更准确地计算最短路径,并且提高设备送药效率,医院场景模拟如图4所示。
1.3 功能设计
智能送药设备实现的功能有自主循迹、数字识别、计算最短路径、前端展示以及避障功能,设备功能如图5所示。
1.3.1 自主循迹模块
智能送药设备的自主循迹功能利用5路灰度传感器实现。在使用设备前会根据现有的地图数据建立指令集,由于传感器检测到黑线会返回1,没有检测到黑线会返回0,通过传感器可以判断前方是否是十字路口或丁字路口,设备会在遇到十字路口或丁字路口时,按照指令集实现前行、左拐等操作。
图3 设备送药的工作流程图
图4 医院场景模拟图
1.3.2 数字识别算法模块
设备对病房门牌拍照后,首先将病房号图像切割出来,其次,对所得到的病房号图像进行一系列预处理操作。再次,将预处理后的图像转换为MNIST数据格式。最后,通过CNN模型进行数字识别,从而得到所需的病房号码信息,数字识别算法流程如图6所示。
图6 数字识别算法流程图
1.3.3 最短路径算法模块
在设备工作时,需要经过很多房间来完成一次送药任务。为此,本文设计了一种基于迪杰斯特拉算法[6]的路径规划方案,将病房看作节点,将医院地图作为无向图,计算两个病房之间的最短路径,从而有效缩短送药时间。同时,我们还重新构建了链表来记录每个最短路径的具体值,用来计算单次多病房送药的顺序问题。这样,不仅可以解决单次多病房送药任务的顺序问题,还能提高设备的送药效率和节省大量时间。
1.3.4 前端展示模块
1.3.4.1 实时路径展示
该模块可在网页上展示完整的地图。当用户提交病房号后,小车会从药房到达该病房,并在网页地图上形成实时轨迹路线。通过这种方式,用户可以清晰地跟踪小车的位置和行驶路径,更好地掌握送药的进度。
1.3.4.2 状态与故障信息展示
该模块可实时展示树莓派的状态和运行信息。如果小车的运行正常,则页面会展示“暂无故障”,但如果小车出现了一些问题,例如电池电量不足或者控制系统失灵,在故障信息模块中就会返回错误信息。这将帮助我们及时发现设备故障并进行处理,以保证设备的可靠性和安全性,前端展示如图7所示。
1.3.5 避障算法模块
智能送药设备使用了HC-SR04超声波模块,该模块可提供2~400 cm的距离感测功能,测量精度可达到3 mm[7]。我们将其设置为当设备前方出现障碍物并且距离设备仅有5 cm时,设备会立即停止,等待障碍物消失后才会继续前进。
2 系统硬件设计
2.1 主控芯片模块
智能送药设备使用3代B+型(3B+)树莓派作为主控芯片。树莓派3代B+型在树莓派3代B型的基础上进行了多项重要升级。它将处理器主频提升到了1.4 GHz,同时新增对5 GHz Wi-Fi频段、Dual-band 802.11AC等方面的支持。
2.2 五路灰度传感器模块
五路灰度传感器是由多个灰度传感器组成的设备,通常包含5个独立的灰度传感器。传感器通过检测物体表面在不同位置的反射率,每个灰度传感器可以将这些反射率转换为数字信号输出。
2.3 超声波模块
HC-SR04超聲波[8]模块由超声波发射器、接收器和控制电路组成。比起红外传感器,超声波传感器的搜索范围更广,因此我们在小车前部采用了超声波传感器。
3 系统实现
3.1 图像预处理模块
当设备拍摄到含有病房号的图像时,会利用OpenCV库[9]对图像进行预处理。预处理可分为两个部分。
第一部分是要切割出病房号存在的区域。对原图像进行灰度化、高斯模糊滤波、Canny算法边缘检测和形态学处理等操作,以去除干扰线和小点,并获取所有轮廓后筛选符合病房号比例要求的矩形区域。最后返回切割出的病房号图像。
第二部分是对病房号图像进行预处理。首先将切割出的病房号图像进行灰度化和中值滤波以去除噪声。其次,将滤波后的图像与原始灰度图像做差得到差分图像并进行二值化操作。最后利用高斯模糊操作平滑图像,去除不必要的噪点,并进行腐蚀处理以便于数字之间的分离。
3.2 CNN数字识别模块
CNN是一种深度学习算法,经常被广泛应用于图像处理[10]和识别领域。相比其他算法,它具备提取图像局部特征、抽象逐渐复杂等优势,因此能够有效地解决数字旋转、变形等问题[11]。设备所采用的CNN网络模型共有15层(包括输入层),分为特征提取和多分类输出两个部分。在特征提取方面,使用了四个卷积层和两个最大池化层来提取图像中的局部特征。卷积层采用了两个大小为5×5的滤波器和两个大小为3×3的滤波器进行卷积操作,并使用ReLU非线性激活函数增强表达能力。每一个卷积层后都加入了批标准化操作,有助于加速模型收敛和防止过拟合。在每两个卷积层之间还添加了一个最大池化层,以实现特征下采样并保证特征不变性。在多分类输出方面,使用了两个全连接层,并在两个全连接层之间添加Dropou层来避免过拟合。经过特征提取后将结果通过Flatten层展平,输入到全连接层,获得各类别预测的概率结果。
4 系统测试与结果分析
4.1 模型评估
模型的训练损失值为0.027 9,准确率为0.992 1。这表明模型在训练集上的表现比较优秀,能够较好地拟合训练数据。验证损失值为0.029 1,验证准确率为0.994 5。这表明模型在验证集上的表现也非常好,具有良好的泛化性能,能够适应新的数据,模型评估如图8所示。
图8 模型评估图
4.2 实验测试
实验测试结果如表1所示。
表1 实验测试结果
病房号 到达病房门前时间/s 识别时间/s 识别结果 送达时间/s
1001号 12 40 正确 52
1004号 16 39 正确 55
1006号 16 39 正确 55
具体内容如下:
1)设备运送药品到1001号病房。要求到达病房门前的时间小于20 s,数字识别的时间小于42 s,识别的结果准确,送到的时间小于58 s。
2)设备运送药品到1004号病房。要求到达病房门前的时间小于20 s,数字识别的时间小于42 s,识别的结果准确,送到的时间小于58 s。
3)设备运送药品到1005号病房。要求到达病房门前的时间小于20 s,数字识别的时间小于42 s,识别的结果准确,送到的时间小于58 s。
综上,设备的测试结果符合基本要求。
5 结 论
本次设计的智能送药设备拥有多项功能,包括利用传感器进行自主循迹、检测数字区域、识别数字、计算送药最短路径以及在前端展示设备的路径和信息。其中,利用CNN网络训练的数字识别模型在训练集和验证集上表现优异,具有出色的数字识别功能。Dijkstra算法被用来计算最短路径,从而提高了设备的送药效率并节省了大量时间。此外,设备配备的前端可视化功能,使用户能够实时查看设备的位置和状态,当设备出现故障时可以及时处理。经过实验验证,该设备成功地完成了模拟送药任务,实现了预期功能。本设备的应用能够实现病房药物的自动化、高效化配送、降低医护人员的感染风险、减轻医务人员负担,对于构建智慧医疗系统,具有重要的价值。
参考文献:
[1] 张省,张樊宇.防疫物资“无接触”机器人配送优化研究 [J].计算机工程与应用,2023,59(17):295-307.
[2] 付书添,查雪红,许超.基于OpenMV视觉系统的智能送药小车 [J].工业控制计算机,2022,35(7):6-9.
[3] 孟兆乐,蒋野,刘增林.基于机器学习的智能送药小车设计 [J].山西电子技术,2022(3):30-33.
[4] 陈鹏,陈智利,李庞跃,等.树莓派3B+导盲系统设计与实现 [J].西安工业大学学报,2020,40(3):305-309.
[5] 叶添,林兴亮,杨潞霞.基于视觉系统的智能送药小车设计 [J].山西电子技术,2023(1):66-69.
[6] 王华.基于Dijkstra算法的物流配送最短路径算法研究 [J].计算机与数字工程,2011,39(3):48-50.
[7] 馮树栋,杨延宁,杜永星,等.基于HC-SR04的多方位车距监测系统设计 [J].现代电子技术,2023,46(6):44-48.
[8] 孟卓.基于HC-SR04的超声波导盲系统设计 [J].电子设计工程,2019,27(21):136-139+145.
[9] 张领先,景嘉平,李淑菲,等.基于图像自动标注与改进YOLO v5的番茄病害识别系统 [J].农业机械学报,2023,54(11):198-207.
[10] KRIZHEVSKTY A,SUTSKEVER I,HINTON G E. ImageNet Classification with Deep Convolutional Neural Networks [J].Communications of the ACM,2017,60(6):84-90.
[11] 周飞燕,金林鹏,董军.卷积神经网络研究综述 [J].计算机学报,2017,40(6):1229-1251.
作者简介:张秉文(2002.01—),男,汉族,山东
滨州人,本科在读,研究方向:大数据、数据挖掘;张岳(1988.05—),男,汉族,山东济南人,讲师,硕士研究生,研究方向:大数据、数据挖掘;何西远(2002.11—),男,汉族,山东济宁人,本科在读,研究方向:大数据、数据挖掘。