一种基于神经网络的药品监管码识别方法及系统与流程

文档序号:33543218发布日期:2023-03-22 09:31阅读:56来源:国知局
一种基于神经网络的药品监管码识别方法及系统与流程

1.本发明涉及监管码识别的技术领域,尤其涉及一种基于神经网络的药品监管码识别方法及系统。


背景技术:

2.目前存在的有关预防药品二次销售的技术主要是电子监管码技术,即每次药品的流向需扫描药品的电子监管码,对药品质量的追踪溯源提供依据。一定程度上有效的为医药批发机构、药品零售机构提高药品二次销售行为的成本。
3.为实现药品的监管目的,防止药品二次销售,需要对药品进行包装编码控制,并将电子监管码通过条码的形式标记在包装外面,通过扫描识读或肉眼识读,最后将识读结果传输至监管数据库进行数据比对。然而,目前通常采用传统的光学图像处理算法进行电子监管码的扫描,容易受到如印刷质量、扫描距离、光照变化等因素的影响,无法做到准确且快速地读取电子监管码,而且通常采用逐一比对的方式进行数据比对,耗时较长,不能有效地预防药品二次销售。


技术实现要素:

4.鉴于上述现有存在的问题,提出了本发明。
5.因此,本发明提供了一种基于神经网络的药品监管码识别方法及系统,能够解决现有技术不能有效地预防药品二次销售的问题。
6.为解决上述技术问题,本发明提供如下技术方案,包括:建立多个药品数据库,存储n个药品的销售数据,所述药品的销售数据包括药品监管码;采集包含药品监管码的第一图像,并对所述第一图像进行预处理;将预处理后的图像输入至识别模型进行药品监管码识别,所述识别模型包括第一神经网络和第二神经网络,通过第二神经网络对第一神经网络输出的特征进行序列处理,获得识别结果;通过对比模块将所述识别结果与药品数据库中的销售数据进行对比,若所述销售数据中存在与识别结果相同的药品监管码,则进行预警提示;其中,所述预处理包括,通过可调谐滤波器滤除第一图像存在的噪声,生成第二图像;利用gaus3小波基对第二图像的每行的像素值进行变换,而后利用gaus7小波基对经过行变换的第二图像的列进列变换,获得预处理后的图像。
7.作为本发明所述的基于神经网络的药品监管码识别方法的一种优选方案,其中:所述生成第二图像包括:所述可调谐滤波器包括至少一个传感器阵列、绝光屏蔽存储单元和滤波矩阵;通过所述传感器阵列曝光第一图像的至少n行光栅,并在t时刻将曝光产生的电荷转移至所述绝光屏蔽存储单元,以捕获第一图像中m*m像素区域的像素点;通过所述滤波矩阵对像素点的像素值进行卷积,生成所述第二图像。
8.作为本发明所述的基于神经网络的药品监管码识别方法的一种优选方案,其中:所述第一神经网络包括第一输入层、四个卷积层、三个池化层、relu层、leaky relu层、第一全连接层和第一输出层;四个卷积层分别为第一卷积层、第二卷积层、第三卷积层和第四卷
积层,三个池化层分别为第一池化层、第二池化层和第三池化层;根据药品监管码在图像中的不同比例分别将第一卷积层、第二卷积层设置采样率为10的3*3空洞卷积,将第三卷积层和第四卷积层设置采样率为12的5*5的空洞卷积,以提取预处理后的图像的多个层次的特征;根据所述多个层次的特征分别将第一池化层和第二池化层设置为roi池化,将第三池化层设置为空间金字塔池化。
9.作为本发明所述的基于神经网络的药品监管码识别方法的一种优选方案,其中:所述第二神经网络包括第二输入层、两个卷积层、三个循环计算层、重构层、relu层、softmax层、第二全连接层和第二输出层;两个卷积层分别为第五卷积层和第六卷积层,三个循环计算层分别为第一循环计算层、第二循环计算层和第三循环计算层;通过第五卷积层对第一神经网络的输出进行初步特征提取,而后通过第一循环计算层、第二循环计算层和第三循环计算层对所述初步提取的特征进行通道拼接和注意力机制形成金字塔特征,而后通过第六卷积层对金字塔特征进行卷积,并通过第二全连接层将卷积结果与初步提取的特征进行特征融合,输出到第二输出层,第二输出层通过所述softmax层输出识别结果。
10.作为本发明所述的基于神经网络的药品监管码识别方法的一种优选方案,其中:还包括:通过adam优化器对所述识别模型进行优化训练,将学习率设置为0.001,当训练迭代次数大于500且识别模型的精度大于预设值时停止训练。
11.作为本发明所述的基于神经网络的药品监管码识别方法的一种优选方案,其中:所述多个数据库包括:创建至少[n/2]个药品数据库,对应构建至少[n/2]条初始化sql查询语句,其中,[ ]为取整符号;每个药品数据库分别读取sql查询语句,并判断所需保存的销售数据是否超过保存阈值,若超过,则分次保存所述销售数据,否则一次性保存所述销售数据。
[0012]
作为本发明所述的基于神经网络的药品监管码识别方法的一种优选方案,其中:对比包括:通过列存储分块并行的方式分别计算药品数据库内所有销售数据的哈希值和识别结果的哈希值,将识别结果的哈希值与药品数据库内所有销售数据的哈希值进行多线程并行对比。
[0013]
作为本发明所述的基于神经网络的药品监管码识别系统的一种优选方案,其中:数据存储模块,被配置为执行建立多个药品数据库,存储n个药品的销售数据,所述药品的销售数据包括药品监管码;图像处理模块,被配置为执行采集包含药品监管码的第一图像,并对所述第一图像进行预处理;所述预处理包括,通过可调谐滤波器滤除第一图像存在的噪声,生成第二图像;利用gaus3小波基对第二图像的每行的像素值进行变换,而后利用gaus7小波基对经过行变换的第二图像的列进列变换,获得预处理后的图像;识别模块,被配置为执行将预处理后的图像输入至识别模型进行药品监管码识别,所述识别模型包括第一神经网络和第二神经网络,通过第二神经网络对第一神经网络输出的特征进行序列处理,获得识别结果;对比模块,被配置为将所述识别结果与药品数据库中的销售数据进行对比,并将对比结果发送至预警模块;预警模块,被配置为执行读取所述对比结果,若所述销售数据中存在与识别结果相同的药品监管码,则进行预警提示。
[0014]
作为本发明所述的基于神经网络的药品监管码识别系统的一种优选方案,其中:还包括模型优化单元,被配置为执行通过adam优化器对所述识别模型进行优化训练,将学习率设置为0.001,当训练迭代次数大于500且识别模型的精度大于预设值时停止训练。
[0015]
作为本发明所述的基于神经网络的药品监管码识别系统的一种优选方案,其中:所述对比模块,具体被配置为通过列存储分块并行的方式分别计算药品数据库内所有销售数据的哈希值和识别结果的哈希值,将识别结果的哈希值与药品数据库内所有销售数据的哈希值进行多线程并行对比。
[0016]
本发明的有益效果:考虑到采集的图像可能受到印刷质量、扫描距离、光照变化等因素的影响,本发明基于卷积神经网络设计识别模型,结构简单,实现了对监管码的快速准确识别,同时结合哈希校验方式和多线程并行技术提高了数据比对速度,从而能够有效地预防药品二次销售。
附图说明
[0017]
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:图1为本发明第一个实施例所述的基于神经网络的药品监管码识别方法的流程示意图。
具体实施方式
[0018]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
[0019]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0020]
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
[0021]
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
[0022]
同时在本发明的描述中,需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0023]
实施例1参照图1,为本发明的第一个实施例,该实施例提供了一种基于神经网络的药品监
管码识别方法,包括:s1:建立多个药品数据库,存储n个药品的销售数据,药品的销售数据包括药品监管码。
[0024]
创建至少[n/2]个药品数据库,对应构建至少[n/2]条初始化sql查询语句,其中,[ ]为取整符号;每个药品数据库分别读取sql查询语句,并判断所需保存的销售数据是否超过保存阈值,若超过,则分次保存销售数据,否则一次性保存销售数据。
[0025]
s2:采集包含药品监管码的第一图像,并对第一图像进行预处理。
[0026]
预处理包括,通过可调谐滤波器滤除第一图像存在的噪声,具体的,可调谐滤波器包括至少一个传感器阵列、绝光屏蔽存储单元和滤波矩阵;通过传感器阵列曝光第一图像的至少n行光栅,并在t时刻将曝光产生的电荷转移至绝光屏蔽存储单元,以捕获第一图像中m*m像素区域的像素点;通过滤波矩阵对像素点的像素值进行卷积,生成第二图像,进一步地,为了提高运行速度,需对图像进行降维处理,具体的,利用gaus3小波基对第二图像的每行的像素值进行变换,而后利用gaus7小波基对经过行变换的第二图像的列进列变换,获得预处理后的图像。
[0027]
s3:将预处理后的图像输入至识别模型进行药品监管码识别,识别模型包括第一神经网络和第二神经网络,通过第二神经网络对第一神经网络输出的特征进行序列处理,获得识别结果。
[0028]
为了解决传统的卷积神经网络容易受到外界因素的影响,例如容易受到如印刷质量、扫描距离、光照变化等因素的影响,本实施例基于卷积神经网络构建识别模型,识别模型包括第一神经网络和第二神经网络;为了提高识别模型的识别精度,通过adam优化器对识别模型进行优化训练,具体的:(1)第一神经网络具体包括第一输入层、四个卷积层、三个池化层、relu层、leaky relu层、第一全连接层和第一输出层;四个卷积层分别为第一卷积层、第二卷积层、第三卷积层和第四卷积层,三个池化层分别为第一池化层、第二池化层和第三池化层;预处理后的图像通过第一输入层传输至第一卷积层,第一卷积层通过relu层与第二卷积层连接,第二卷积层通过relu层与第一池化层连接,第一池化层通过relu层与第三卷积层连接,第三卷积层通过relu层与第二池化层连接,第二池化层通过relu层与第四卷积层连接,第四卷积层通过leaky relu层与第三池化层连接,第三池化层通过leaky relu层与全连接层连接,通过第一全连接层对第三池化层提取的特征进行非线性组合,输出到第一输出层。
[0029]
进一步地,根据药品监管码在图像中的不同比例分别将第一卷积层、第二卷积层设置采样率为10的3*3空洞卷积,将第三卷积层和第四卷积层设置采样率为12的5*5的空洞卷积,以提取预处理后的图像的多个层次的特征;根据多个层次的特征分别将第一池化层和第二池化层设置为roi池化,将第三池化层设置为空间金字塔池化。
[0030]
考虑到采集的图像可能受到印刷质量、扫描距离、光照变化等因素的影响,因此设计不同的卷积层以不同采样率的空洞卷积进行采样,捕捉多尺度信息,获取多个层次的不同比例的图像特征,同时根据不同的卷积层设计对应的池化层减小下一层的输入大小,进一步扩大感受野,结构简单,既保持了精度又减少了计算量,且在一定程度上防止出现模型
过拟合现象。
[0031]
(2)为了防止网络过深出现的网络退化现象,本发明基于循环神经网络设计第二神经网络,用于对第一神经网络的输出进行序列处理,提高同一字符间的相关性,第二神经网络具体包括第二输入层、两个卷积层、三个循环计算层、重构层、relu层、softmax层、第二全连接层和第二输出层;第二输出层与第一输出层连接;两个卷积层分别为第五卷积层和第六卷积层,三个循环计算层分别为第一循环计算层、第二循环计算层和第三循环计算层。
[0032]
第五卷积层通过relu层与第一循环计算层连接,第二循环计算层通过relu层与第三循环计算层连接,第三循环计算层通过relu层与第六卷积层连接,通过第二全连接层对第六卷积层提取的特征进行非线性组合,输出到第二输出层,第二输出层通过softmax层输出检测结果。
[0033]
具体地,通过第五卷积层对第一神经网络的输出进行初步特征提取,而后通过第一循环计算层、第二循环计算层和第三循环计算层对初步提取的特征进行通道拼接和注意力机制形成金字塔特征,而后通过第六卷积层对金字塔特征进行卷积,并通过第二全连接层将卷积结果与初步提取的特征进行特征融合,输出到第二输出层,第二输出层通过softmax层输出识别结果。
[0034]
较佳的是,本实施例通过注意力机制有效地解决在序列分析中可能存在的梯度消失等问题,且第二神经网络结构简单,在简化模型结构的同时得到了更高的精度。
[0035]
(3)通过adam优化器对识别模型进行优化训练,为避免模型出现过拟合现象,将学习率设置为0.001,当训练迭代次数大于500且识别模型的精度大于预设值时停止训练。
[0036]
s4:通过对比模块将识别结果与药品数据库中的销售数据进行对比,若销售数据中存在与识别结果相同的药品监管码,则进行预警提示,以提醒相关人员该药品可能存在二次售药可能。
[0037]
通过列存储分块并行的方式分别计算药品数据库内所有销售数据的哈希值和识别结果的哈希值,将识别结果的哈希值与药品数据库内所有销售数据的哈希值进行多线程并行对比。
[0038]
较佳的是,通过哈希校验的方式进行数据对比,无需每次对比需要读取整行数据同时对比一行中每列记录的情况,一次只需要比对一条哈希值即可,同时采用多线程并行的方式进行数据对比,极大地提高更新比对的效率。
[0039]
实施例2本实施例不同于第一个实施例的是,提供了一种基于神经网络的药品监管码识别系统,包括,数据存储模块,被配置为执行建立多个药品数据库,存储n个药品的销售数据,药品的销售数据包括药品监管码。
[0040]
图像处理模块,被配置为执行采集包含药品监管码的第一图像,并对第一图像进行预处理;预处理包括,通过可调谐滤波器滤除第一图像存在的噪声,生成第二图像;利用gaus3小波基对第二图像的每行的像素值进行变换,而后利用gaus7小波基对经过行变换的第二图像的列进列变换,获得预处理后的图像。
[0041]
识别模块,被配置为执行将预处理后的图像输入至识别模型进行药品监管码识别,识别模型包括第一神经网络和第二神经网络,通过第二神经网络对第一神经网络输出
的特征进行序列处理,获得识别结果;为提高识别精度,本实施在识别模块中设置模型优化单元,模型优化单元,具体被配置为执行通过adam优化器对识别模型进行优化训练,将学习率设置为0.001,当训练迭代次数大于500且识别模型的精度大于预设值时停止训练。
[0042]
对比模块,被配置为将识别结果与药品数据库中的销售数据进行对比,并将对比结果发送至预警模块;具体被配置为通过列存储分块并行的方式分别计算药品数据库内所有销售数据的哈希值和识别结果的哈希值,将识别结果的哈希值与药品数据库内所有销售数据的哈希值进行多线程并行对比。
[0043]
预警模块,被配置为执行读取对比结果,若销售数据中存在与识别结果相同的药品监管码,则进行预警提示,以提醒相关人员该药品可能存在二次售药可能。
[0044]
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
[0045]
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
[0046]
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
[0047]
如在本技术所使用的,术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中
以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远程过程的方式进行通信。
[0048]
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1