基于多视图与数据扩展的深度学习口服药丸识别方法

文档序号:30953467发布日期:2022-07-30 08:47阅读:276来源:国知局
基于多视图与数据扩展的深度学习口服药丸识别方法

1.本发明属临床医药、护理领域,涉及药品的正确识别方法。


背景技术:

2.医院肩负着救死扶伤的艰巨任务,工作内容多、人员繁忙,存在着有些无外包装的药品识别困难、分发不当的情况难以避免。
3.医院分药的工作容易受到人为错误影响。在医院或护理病房等环境中将药物给予患者的工作是现有的流程是手动过程:1)正确的药物以及正确数量的药丸集放入塑料杯中;2)药丸集被正确递送给对应的患者;3)药丸集被以正确的时间(例如,间隔不超过4小时)给予患者。在此过程中高度易受人为错误的影响,绝对的质量保证难以实现。
4.药物错误还可能发生在药房环境中。填写的处方可能错误标记有药丸的不正确的剂量和数量, 或标记有不正确的药物。由于药剂师劳累过度和分神混淆了具有相似药物名称和物理外观的药丸,药剂师可能分配错误的药物、数量和剂量,可能发生导致患者严重伤害甚至死亡的错误。
5.随着深度学习在图像识别领域的发展,将利用深度学习模型进行医学图像识别的任务逐渐推到了高潮,目前计算机视觉技术发展日趋成熟,特别是在图像处理、语音识别等方向更是取得了前所未有的效果。对于图像的识别、分类来说,相比人工的主观经验判断,利用深度学习模型进行图像识别辅助医护人员进行分药,可以避免由于医护人员由于人为错误造成患者的死亡案例。如李帅等采用传统的机器学习方法提取胶囊药物的特征,实现了药房自动化的任务。施华宇等人采用深度学习的方法提取了药品包装的特征,应用深度学习技术的药品包装识别系统现已取得初步成果,已完成对500种药品的分类识别,训练时验证准确度为96.4%。张震江等人,利用计算机视觉技术实现药品类别和数量的自动识别,开启了利用深度学习技术辅助门诊发药的技术可行性。采用的主要技术方法是:采集药品外包装图像,利用预处理技术生成训练图像集,建立7层(3c3p1f) 卷积神经网络模型进行训练,部署restful接口规范的药品图像识别服务。但在实际应用中,针对于住院病人的药物发放,是将易作为识别信息的药品外包装去除后,把单颗、多颗甚至1/2、1/4 等分数颗药丸按照医生所开具的处方药单,定时、定量重新装袋分发。因此,现有技术还不能完全满足药物识别的需求。


技术实现要素:

6.本发明的目的是研发一种自动化的方式来快速、准确地识别药丸/药丸组合的方法,本方法必须能够正确识别已经分配好的患者所需药丸。正确识别的难度在于去除包装后的药丸的大小、颜色、形状相差不大,难以对微小的特征进行判别;其次,药品分发时可能会有叠放、侧放等情况,单一角度的图片识别模型已经不能满足这项复杂的任务;此外,考虑到临床上针对于病人的病情、年龄以及身体素质等,医生会对药品的药量酌情进行增减,在实际情况中会出现半片甚至1/4计量等情况的“残缺”药丸。针对此情况,为了能够正确识
别包括非完整药丸在内的所有药丸,本发明采用多角度、多视图的拍摄方法采集药丸,应对药品侧放、叠放等不同情况;设计了一个药丸图片恢复通道解决非完整药丸识别问题。同时,考虑到后期的应用场景多用于中小型设备,如送药机器人、药房自动分药系统等,采用轻量级神经网络来实现这一任务,便于后期产品的转化。
7.本发明的目的是这样达到的:一种基于多视图与数据扩展的深度学习口服药丸识别方法,其特征在于:采用多视图与数据增广的方法搭建数据库,多角度完善数据集;使用轻量级网络,设计一个嵌入移动设备、中小型设备的实用模型;将多视图与二维模型相结合,在迁移学习后完成实用模型的搭建,正确识别口服药丸并通过移动设备、中小型设备发放给对应的患者;建立不完整口服药丸识别通道,对非完整药丸进行复原,增强模型的实用性;
8.具体的步骤包括:
9.1)、多视图数据库搭建;
10.2)、非完整药丸复原;
11.3)、数据增广;
12.4)、通过预训练迁移学习,完成卷积神经网络药丸识别模型搭建;
13.5)、输出药品分类结果、药品名称信息;
14.所述多视图数据库搭建中,采用拍摄的药品图片作为数据集基础数据,药品图片拍摄方法中,规定了拍摄规则与拍摄角度,拍摄角度含平面放置拍摄角度、非轴对称药品拍摄角度、垂直面拍摄角度、特殊情况拍摄角度;
15.所述对非完整药丸复原,是针对实际情况中出现的半片甚至1/4计量的残缺药丸,使用模板匹配算法识别出残缺药丸对应的完整药丸图片,将识别出的对应的完整药丸送入搭建的卷积神经网络药品识别模型中。
16.所述数据增广即数据扩增,在不实质性增加数据的情况下,将药品图片按照分辨率进行裁剪,产生出不同的图片数据,得到数据量扩增;在操作时,从数学角度,数据增广默认以图像中心点进行,在中心点完成图像平移、图像翻转、图像旋转、图像缩放、图像错切、图像裁剪和组合变换;
17.所述迁移学习是首先在imagenet公开数据集上进行预训练,学习其边缘信息浅层的语义表达;最后利用在imagenet预训练所设置的迭代次数中,学习到的最优的权重做药品识别网络的初始化权重,使模型快速收敛达到较好的识别效果。
18.模型搭建采用轻量级模型mobilenetv2作为基础架构,在基础模型的架构上,扩大卷积核的尺寸,增大卷积神经网络的感受野;同时引入通道注意力和空间注意力的混合注意力模块机制,提高网络的特征提取能力,最大限度的提取药丸特征,辅助药物识别。
19.药品图片拍摄规则中,药品本身占整图的50~60%,不能过小,拍摄背景采用与药物颜色有区别的纯色统一颜色背景,若有部分药品与背景颜色相同或相近则这部分药品单独选取其他纯色背景;拍摄需高质量,需要清晰对焦。
20.拍摄角度为平面放置拍摄时,对于中心对称药品,拍摄3张照片,分别在摄像头于平面180 度、60度、30度拍摄;
21.拍摄角度为非轴对称药品拍摄时,多旋转几个角度拍摄,间隔30度左右拍摄一次;
22.拍摄角度为垂直面拍摄时,旋转180度每隔30度拍摄一张,共计6张图片;
23.对于特殊无垂面的药物,如胶囊,只用按平面拍摄旋转180度或者360度即可;若药品正反面不一致,则正面与反面都需按上述的平面拍摄规则拍摄一组图片。
24.使用模板匹配算法识别出残缺药丸对应的完整药丸图片,其模板匹配是在一幅图像中寻找一个特定目标的方法,通过遍历图像中的每一个可能的位置,比较各处与模板是否相似,当相似度足够高时,认为匹配成功;
25.算法的步骤是:
26.1).确定当前图片的长宽x,y;
27.2).确定模板图片的长宽w,h;
28.3).从(0,0)为起点,依次比对到(x-w,y-h),计算在每个点(i,j)处图片(i,j)~(i+w,j+h) 与模板的的相似度;
29.4).比对完成后返回每个点的相似度。
30.数据增广中,从数学角度在中心点完成图像平移、图像翻转、图像旋转、图像缩放、图像错切、图像裁剪和组合变换;分成以下几个步骤:1).首先将旋转点移动到原点处;2).执行绕原点的旋转;3).再将旋转点移回到原来的位置;
31.假设图像的原始坐标为(x0,y0),平移后的坐标为(x,y),则平移前和平移后的坐标关系如下,其中h为变换矩阵;
[0032][0033]
图像平移:平移是指所有的像素在x和y方向各平移和,平移变换对应的数学矩阵如下:d
x
、dy表示x、y方向上移动的距离:
[0034][0035]
图像翻转即图像镜像处理,图像翻转包括水平翻转和垂直翻转;水平翻转的变换矩阵为:
[0036][0037]
垂直翻转的变换矩阵为:
[0038][0039]
图像旋转是默认为图像中心点为中心进行任意角度θ的旋转,其变换矩阵为:
[0040][0041]
图像缩放是指对当前图像进行任意尺度的缩放,其变换矩阵如下,其中s
x
、sy表示缩放的尺寸;
[0042][0043]
图像错切是指平面景物在投影平面上的非垂直投影,其变换矩阵如下,hy、h
x
为x、y方向上变换的角度;
[0044][0045]
图像裁剪是将图片缩放到原图的1.1倍,然后在缩放后的图像上进行裁剪操作;
[0046]
组合变换采用多种增广方式的组合,假设给定平移变换矩阵h
shift
,旋转矩阵h
rotate
,缩放矩阵h
scale

[0047]
对于组合变换一,其组合后的矩阵m如下:m=h
shift
x h
rotate
x h
scale

[0048]
对于组合变换二,其组合后的矩阵n如下:n=h
scale
x h
rotate
x h
shift

[0049]
在轻量级模型mobilenetv2基础模型的架构上,扩大卷积核的尺寸为:将感受野从3
×
3增大到5
×
5或者更大,并且增加了convolutional block attention module(cbam)注意力机制,增强模型的特征提取能力。
[0050]
使用模板匹配算法识别出残缺药丸对应的完整药丸图片时,设置相似度阈值为90%以上的某个值,当匹配相似度达到该阈值时,认为药丸匹配成功。
[0051]
所述设计一个嵌入中小型移动设备的实用模型将多视图与二维模型相结合,是将模型的代码集成到中小型设备的主控端,设备上设有lcd屏、摄像头,通过摄像头扫描药品,收集药品图片,传回主控端,送入模型识别;识别出的药品名称与采集的药品图片对应显示在lcd屏上,供操作者查看。
[0052]
本发明的有益效果是:
[0053]
1、有效的分类出外形、颜色高度相似的药品,辅助医护人员进行药品分拣,减少甚至避免病患因为药品分类出错导致的生命安全受到威胁的情况。
[0054]
2、通过多视图数据库搭建应对分药过程中多类药品混合出现的药品侧放、堆叠等复杂情况,与不同的数据增广手段结合,进一步完善数据集的角度。
[0055]
3、数据增广、迁移学习弥补了数据量少带来的过拟合,与轻量级网络结合设计了一个嵌入移动设备、中小型设备的实用模型,方便实用,应用前景广阔。
[0056]
4、将多视图与二维模型结合,一定程度上达到了三维模型的识别效果,不仅可以应对多角度随机摆放的药品识别,同时模型的参数量相较于三维模型而言大大减少,易于实际产品的转化。
[0057]
5、针对实际药丸分发中出现的非完整药丸,设计了一个图像恢复通道,能够有效的识别非完整的药丸。
[0058]
6、本发明引入了通道注意力和空间注意力的混合注意力cbam模块机制,提高网络的特征提取能力,最大限度的提取药丸特征,辅助药物识别。
附图说明
[0059]
图1是本发明的识别方法流程示意图。
[0060]
图2是本发明搭建的药品识别卷积神经网络流程示意图。
[0061]
图3是本发明拍摄规则中,正确的药物占比示意图。
[0062]
图4是本发明拍摄规则中,错误的药物占比示意图。
[0063]
图5是圆形药品多视图拍摄视角示意图。图中,1是摄像头,2是药品。
[0064]
图6~8是非轴对称药品平面拍摄角度示意图。
[0065]
图9-10是垂直面拍摄角度示意图。
[0066]
图11是模版匹配算法原理示意图。
[0067]
图12~14中心对称药品模版匹配实例示意图。
[0068]
图15~17非中心对称药品模版匹配实例示意图。
[0069]
图18是图像增广方案示意图。
[0070]
图19是mobilenetv2模型框架。
[0071]
图20是感受野示意图。
[0072]
图21是cbam注意力机制模型示意图。
[0073]
图22mobilenetv2倒置残差块模型修改示意图。
[0074]
图23是本发明的实施例中,训练效果及精度的训练损失与迭代次数示意图。
[0075]
图24是本发明的实施例中,训练效果及精度的测试损失与迭代次数示意图。
[0076]
图25是本发明的实施例中,训练效果及精度的测试准确率与迭代次数示意图。
具体实施方式
[0077]
实验环境
[0078]
本实验例所用硬件环境和软件环境如表1所示:
[0079]
表1
[0080][0081]
本发明采用轻量级模型mobilenetv2作为基础架构,mobilenetv2是google在2018年1月提出的,模型的创新点是inverted residuals和linear bottlenecks这两个技术。旨在提升准确率和减少内存的占用。整个模型架构如表2
[0082]
表2
[0083][0084]
实验数据
[0085]
本实验数据采用753张单片药丸的图片,总共有93个类的药丸图片。采用收集拍摄的高清jpg 格式图片,拍摄规则按照数据集采集规范采集,具体数量及类别见表3。表3
[0086]
[0087]
[0088]
[0089][0090]
参见附图1。
[0091]
本发明的药丸识别模型基于mobilenetv2搭建,为一种cnn模型。这里所指的cnn药品识别网络即为本发明基于mobilenetv2搭建的模型。
[0092]
药品分成完整药丸与非完整药丸进入cnn药品识别网络。非完整药丸经过模板匹配,还原成完整药丸的图像后进入识别系统。在识别系统完成识别后输出药品名称及图片。
[0093]
图2是本发明搭建的药品识别卷积神经网络流程示意图。
[0094]
多视图数据库搭建中,采用拍摄的药品图片作为数据集基础数据。药品图片拍摄方法中,规定了拍摄规则与拍摄角度,拍摄角度含平面放置拍摄角度、非轴对称药品拍摄角度、垂直面拍摄角度、特殊情况拍摄角度。
[0095]
图2示出,多视图数据库搭建后,数据增广在搭建的mobilenetv2模型上进行。数据增广包含图像翻转、图像缩放、图像错切、图像旋转和图像剪裁的数据。数据增广首先在imagenet公开数据集上进行预训练迁移学习,学习其边缘信息浅层的语义表达;最后利用在imagenet预训练所设置的迭代次数中,学习到的最优的权重,做药品识别网络的初始化权重,使模型快速收敛达到较好的识别效果。识别步骤包括:
[0096]
1)、多视图数据库搭建;
[0097]
2)、非完整药丸复原;
[0098]
3)、数据增广;
[0099]
4)、通过预训练迁移学习,完成模型搭建;
[0100]
5)、输出药品分类结果、药品名称信息。
[0101]
模型搭建采用轻量级模型mobilenetv2作为基础架构,在基础模型的架构上,扩大卷积核的尺寸,增大卷积神经网络的感受野,提高网络的特征提取能力;此外,在模型的倒置残差块中,引入了cbam注意力机制,cbam注意力机制能够兼顾空间(spatial)和通道(channe)两个方面,相比于仅关注一方面的机制,进一步提高了模型的特征提取能力,最大限度的提取药丸的细微特征,有益于后期对药丸的识别。经过处理后的数据,按照需要输出正确的药品分类结果和药品名称。
[0102]
图3-图10是本发明拍摄规则示意图。图3为正确的药物占比示意,图4为错误的药
物占比示意,药品图片拍摄中药品本身占整张图的50~60%,不能过小,拍摄背景采用与药物颜色有区别的纯色统一颜色背景,若有部分药品与背景颜色相同或相近则这部分药品单独选取其他纯色背景;拍摄需高质量,需要清晰对焦。
[0103]
参见图5-图10。
[0104]
拍摄角度为平面放置拍摄时,对于中心对称药品,拍摄3张照片,分别在摄像头于平面180度、 60度、30度等多角度拍摄。拍摄角度为非轴对称药品拍摄时,多旋转几个角度拍摄,间隔30度左右拍摄一次;若药品左右对称则旋转180度,每隔30度拍摄一张。拍摄角度为垂直面拍摄时,旋转180度每隔30度拍摄一张,共计6张图片。对于特殊无垂面的药物,如胶囊,只用按平面拍摄旋转180度或者360度即可。若药品正反面不一致,则正面与反面都需按上述的平面拍摄规则拍摄一组图片。
[0105]
参见附图12-17。
[0106]
图12~14为中心对称药品模版匹配实例示意图。
[0107]
图12是完整药品,图13是图12的二分之一残缺药丸,经过中心对称药品模版匹配,还原成了与图12一致的完整药丸。
[0108]
图15~17非中心对称药品模版匹配实例示意图。
[0109]
图15是完整药品,图16是图15的二分之一残缺药丸,经过中心对称药品模版匹配,图17为还原图16成了完整药丸的图片示意。
[0110]
本实施例的数据增广参见附图18。
[0111]
基于医学数据集较少的特点,我们在数据预处理部分融入了模型的数据增广的手段。数据增强也叫数据扩增,即在不实质性的增加数据的情况下,让有限的数据产生等价于更多数据的价值。本实施例中,如网络输入的图片的分辨率大小是256
×
256,我们采用随机裁剪成224
×
224的方式,一张图最多可以产生32
×
32张不同的图,数据量扩充将近1000倍。所有的数据增广在操作的时候默认是以图像中心点进行的.从数学角度来看,操作分成以下几个步骤:1).首先将旋转点移动到原点处;2).执行绕原点的旋转;3).再将旋转点移回到原来的位置。
[0112]
假设图像的原始坐标为(x0,y0),平移后的坐标为(x,y),则平移前和平移后的坐标关系如下,其中h为变换矩阵;
[0113][0114]
图像平移:平移是指所有的像素在x和y方向各平移和,平移变换对应的数学矩阵如下:d
x
、dy表示x、y方向上移动的距离:
[0115][0116]
图像翻转即图像镜像处理,图像翻转包括水平翻转和垂直翻转;水平翻转的变换矩阵为:
[0117]
[0118]
垂直翻转的变换矩阵为:
[0119][0120]
图像旋转是默认为图像中心点为中心进行任意角度θ的旋转,其变换矩阵为:
[0121][0122]
图像缩放是指对当前图像进行任意尺度的缩放,其变换矩阵如下,其中s
x
、sy表示缩放的尺寸;
[0123][0124]
图像错切是指平面景物在投影平面上的非垂直投影,其变换矩阵如下,hy、h
x
为x、y方向上变换的角度;
[0125][0126]
与深度学习的裁剪的常用做法一致,本实施例在进行图像裁剪时,将图片放大到原图的1.1 倍,然后在放大后的图像上进行随机比例裁剪操作。
[0127]
图19是mobilenetv2模型框架。
[0128]
本发明采用轻量级模型mobilenetv2作为基础架构,mobilenetv2是google在2018年1月提出的,模型的创新点是inverted residuals和linear bottlenecks这两个技术。旨在提升准确率和减少内存的占用。
[0129]
对于这种模型,通道数随时间增加,空间尺寸也会相应减少。但总体而言,由于构成块之间连接的瓶颈层,张量保持相对较小。
[0130]
为了使提高模型的特征提取能力,本研究在基础模型的架构上,扩大了卷积核的尺寸,增大了卷积神经网络的感受野,提高了网络的特赠提取能力。本实施例将感受野从3
×
3增大到5
×
5 或者更大。如图20所示。
[0131]
为了进一步提高特征提取能力增加了cbam注意力机制。如图21所示。
[0132]
convolutional block attention module(cbam)表示卷积模块的注意力机制模块,是一种结合了空间(spatial)和通道(channel)的注意力机制模块。针对本发明的药丸识别,由于药丸识别是一个细粒度识别问题,需要网络具备相对较高的特征提取能力,才能识别出药丸间的细微差别。cbam中的注意力模块,让网络将注意力放置在对药丸识别有意义的区域,而不过多的学习如背景干扰区域的特征,这样使模型最大限度的提取药丸的特征,以识别出药丸间的细微差别。同时,由于cbam是轻量级的通用模块,因此可以忽略的该模块的开销而将其无缝集成到任何cnn 架构中,并且可以与基础cnn一起进行端到端训练,轻量级的模块加入,使模型的整体性能提升的同时,又不过多的增加模型的大小,对于后期嵌入移动设备使有益的。
[0133]
图22为mobilenetv2倒置残差块模型修改示意图。
[0134]
图中示出,先进行通道的扩张,然后进行通道的缩减,depth-wise convolution(dw)之前多了一个1
×
1的“扩张”层(point-wise convolution(pw)),目的是为了提升通道数,获得更多特征,即:“扩张”(pw)
→“
卷积提特征”(dw)
→“
压缩”(pw)。
[0135]
组合变换采用多种增广方式的组合。在深度学习中的数据增广一般会采用多种增广方式的组合,这里就会涉及到矩阵乘法运算,根据其运算的规则,可以知道不同的组合顺序结果是不一样的,即线性代数中的ab≠ba,当然特例除外。为了更好地解释,假设给定平移变换矩阵h
shift
,旋转矩阵h
rotate
,缩放矩阵h
scale
。本实施例中,我们给出两个不同的组合变换。
[0136]
对于组合变换一,其组合后的矩阵如下:m=h
shift
x h
rotate
x h
scale

[0137]
对于组合变换二,其组合后的矩阵如下:n=h
scale
x h
rotate
x h
shift

[0138]
上述数据增广的方式,不仅可以防止模型过拟合,同时也能弥补在数据库建立过程中,采集方法不够全面导致的某些角度的图片数据未采集的情况,进一步的完善了多纬度数据库。
[0139]
本实施例将mobilenetv2作为药丸识别的基础架构,epoch设置为500,batch_size设为16,学习率设计为0.001。若训练精度在5个epoch内没有降低,则学习率下降10%。
[0140]
训练效果及精度如图23。图中可见:随着迭代次数的增加,训练集的损失逐渐下降,收敛到一定的范围。
[0141]
测试损失与迭代次数如图24图所示,图中可见:随着迭代次数的增加,测试集的损失逐渐下降,收敛到一定的范围。
[0142]
训练效果及精度的测试准确率与迭代次数如图25所示。图中可见:随着迭代次数的增加,测试集的精度逐渐上升,最后稳定在某一范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1