本申请涉及人工智能领域,尤其涉及一种药名识别方法、装置、计算机设备和存储介质。
背景技术:
在日常生活中,中老年人经常接触到各种药物,但很多药盒上的文字较小,中老年人难以识别药盒上的药物名称。现有方法主要是采用ocr(opticalcharacterrecognition,光学字符识别)自动识别药盒上的文字,但是ocr技术仅适用于简单场景,并且在文本识别阶段主要是采用特征提取与模板匹配方法,利用人的经验知识指导文字特征提取,然后从特征库中根据文字相似度匹配。这种方法的稳定性与有效性都较差,难以识别药盒复杂多样的药物名称。
因此如何提高识别药盒上的药物名称的准确性成为亟需解决的问题。
技术实现要素:
本申请提供了一种药名识别方法、装置、计算机设备和存储介质,通过根据图像训练数据与图像扩充数据对药名识别模型进行训练,使得训练好的药名识别模型适用于识别药盒图像中复杂多样的药物名称的场景,可以有效提高识别药物名称的准确性;通过对药名识别模型输出的药名识别结果进行药名模糊匹配,进一步提高了识别药物名称的准确性。
第一方面,本申请提供了一种药名识别方法,所述方法包括:
获取图像训练数据,所述图像训练数据为对样本药盒图像进行文本提取得到的,以及获取图像扩充数据;
将所述图像训练数据与所述图像扩充数据输入药名识别模型进行迭代训练,直至所述药名识别模型收敛,得到训练好的所述药名识别模型;
获取待进行药名识别的药盒图像,并确定所述药盒图像对应的至少一个待识别图像;
将每个所述待识别图像输入训练好的所述药名识别模型进行药名识别,获得所述药盒图像对应的药名识别结果;
基于预设的药名信息库,对所述药名识别结果进行药名模糊匹配,获得所述药盒图像对应的药物名称。
第二方面,本申请还提供了一种药名识别装置,所述装置包括:
图像数据获取模块,用于获取图像训练数据,所述图像训练数据为对样本药盒图像进行文本提取得到的,以及获取图像扩充数据;
模型训练模块,用于将所述图像训练数据与所述图像扩充数据输入药名识别模型进行迭代训练,直至所述药名识别模型收敛,得到训练好的所述药名识别模型;
图像提取模块,用于获取待进行药名识别的药盒图像,并确定所述药盒图像对应的至少一个待识别图像;
药名识别模块,用于将每个所述待识别图像输入训练好的所述药名识别模型进行药名识别,获得所述药盒图像对应的药名识别结果;
药名模糊匹配模块,用于基于预设的药名信息库,对所述药名识别结果进行药名模糊匹配,获得所述药盒图像对应的药物名称。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的药名识别方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的药名识别方法。
本申请公开了一种药名识别方法、装置、计算机设备和存储介质,通过获取图像训练数据以及获取图像扩充数据,将图像训练数据与图像扩充数据输入药名识别模型进行迭代训练,可以使得训练好的药名识别模型适用于识别药盒图像中复杂多样的药物名称的场景,可以有效提高识别药物名称的准确性;通过获取待进行药名识别的药盒图像并确定待识别图像,可以获得药盒文本的待识别图像;通过将每个待识别图像输入训练好的药名识别模型进行药名识别,可以有效提高药名识别结果的准确性;通过基于预设的药名信息库,对药名识别结果进行药名模糊匹配,获得药盒图像对应的药物名称,进一步提高了对药盒图像进行药物名称识别的准确性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种药名识别方法的示意性流程图;
图2是本申请实施例提供的一种对药名识别模型进行训练的示意图;
图3是本申请实施例提供的一种获取图像扩充数据的子步骤的示意性流程图;
图4是本申请实施例提供的一种确定待识别图像的子步骤的示意性流程图;
图5是本申请实施例提供的一种对药盒图像进行文本检测的子步骤的示意性流程图;
图6是本申请实施例提供的一种药名识别装置的示意性框图;
图7是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种药名识别方法、装置、计算机设备和存储介质。其中,该药名识别方法可以应用于服务器或终端中,通过根据训练图像与扩充图像对药名识别模型进行训练,使得训练好的药名识别模型适用于识别药盒图像中复杂多样的药物名称的场景,可以有效提高识别药物名称的准确性;通过对药名识别模型输出的药名识别结果进行药名模糊匹配,进一步提高了识别药物名称的准确性。
其中,服务器可以为独立的服务器,也可以为服务器集群。终端可以是智能手机、平板电脑、笔记本电脑和台式电脑等电子设备。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图1所示,药名识别方法包括步骤s10至步骤s50。
步骤s10、获取图像训练数据,所述图像训练数据为对样本药盒图像进行文本提取得到的,以及获取图像扩充数据。
在本申请实施例中,为提高药名识别模型识别药名的准确性,在采用药名识别模型对待识别图像进行药名识别之前,需要对初始的药名识别模型进行训练至收敛,得到训练好的药名识别模型。
请参阅图2,图2是本申请实施例提供的一种对药名识别模型进行训练的示意图。如图2所示,具体的训练过程可以包括:获取图像训练数据,图像训练数据为对样本药盒图像进行文本提取得到的,以及获取图像扩充数据;将图像训练数据与图像扩充数据输入初始的药名识别模型进行迭代训练,直至药名识别模型收敛,得到训练好的药名识别模型。
示例性的,可以对预设数量的样本药盒图像进行文本提取,获取图像训练数据。其中,可以通过文本检测模型对样本药盒图像进行文本提取。
示例性的,可以生成预设数量的图像扩充数据。需要说明的是,由于药盒图像上的文字一般比较复杂,包括不同字体种类、不同大小以及不同方向的文字,因此需要增加图像扩充数据对药名识别模型进行训练,使得训练好的药名识别模型适用于识别药盒图像中复杂多样的药物名称的场景,从而提高药名识别模型的准确度。
请参阅图3,图3是本申请实施例提供的一种获取图像扩充数据的子步骤的示意性流程图,具体可以包括以下步骤s101至步骤s103。
步骤s101、基于预设的药物知识库,获取包含药物信息的文本数据,所述文本数据包括中文、英文、数字以及符号中至少一种。
示例性的,可以从药物知识库中提取预设数量的包含药物信息的文本数据。其中,提取的文本数据是无格式的文本;文本数据的内容可以包括中文、英文、数字以及符号中至少一种。
步骤s102、对所述文本数据添加文本属性,获得添加文本属性后的所述文本数据,所述文本属性包括文本长度、文本方向、字体大小以及字体样式中至少一种。
示例性的,可以对文本数据添加不同的文本属性。例如,将文本数据的文本方向设置为横向;例如,将文本数据的字体大小设置为三号;又例如,将文本数据的字体样式设置为彩色。从而可以获得添加文本属性后的多个文本数据。
示例性的,添加文本属性后的文本数据的文本方向可以是横向、字体样式可以是加粗。
示例性的,添加文本属性后的文本数据的文本方向可以是纵向、字体大小可以是三号。
步骤s103、将添加文本属性后的所述文本数据添加至预设的图像模板中,获得所述图像扩充数据。
需要说明的是,预设的图像模板可以是空白图像。
示例性的,可以将添加文本属性后的文本数据加载至空白图像中,从而获得图像扩充数据。
通过构建图像扩充数据,可以实现自动生成丰富的图像训练数据,不仅解决了训练样本不足的问题,而且还提高了药名识别模型的鲁棒性与准确性。
步骤s20、将所述图像训练数据与所述图像扩充数据输入药名识别模型进行迭代训练,直至所述药名识别模型收敛,得到训练好的所述药名识别模型。
在本申请实施例中,通过将增加的图像扩充数据与图像训练数据共同输入药名识别模型进行训练,使得训练好的药名识别模型适用于识别药盒图像中复杂多样的药物名称的场景,从而提高药名识别模型的准确度。
需要说明的是,药名识别模型用于识别图像中的文字信息,并对文字信息进行标签分类,将输出的概率最大的标签确定为药名识别结果。药名识别模型可以包括卷积神经网络与循环神经网络;其中,卷积神经网络用于对输入的图像进行卷积与池化,输出特征图像;循环神经网络用于对特征图像进行药名分类预测,输出药名识别结果。
示例性的,在对药名识别模型进行训练时,可以通过ctc损失函数计算模型训练时的损失函数值,并根据损失函数值调整模型的参数。其中,ctc(connectionisttemporalclassification,连接时序分类)损失函数用于解决输入特征与输出标签的对齐问题。
在一些实施例中,将图像训练数据与图像扩充数据输入药名识别模型进行迭代训练,直至药名识别模型收敛,可以包括:根据图像训练数据与图像扩充数据,确定每一轮训练的训练样本图像;将当前轮训练样本图像输入卷积神经网络进行卷积与池化,输出特征图像;将特征图像输入循环神经网络进行药名分类预测,输出对应的药名识别结果;基于连接时序分类损失函数,确定药名识别结果对应的损失函数值;若损失函数值大于预设的损失值阈值,则调整卷积神经网络与循环神经网络的参数,并进行下一轮训练,直至得到的损失函数值小于或等于损失值阈值,结束训练,得到训练好的药名识别模型。
示例性的,预设的损失值阈值可以根据实际情况进行设定,具体数值在此不作限定。
示例性的,可以基于误差反向传播算法调整卷积神经网络与循环神经网络的参数,也可以根据其它算法调整卷积神经网络与循环神经网络的参数,例如梯度下降算法。其中,误差反向传播(errorbackpropagation,bp)算法是一种按照误差逆向传播算法训练的多层前馈神经网络。
为进一步保证上述训练好的药名识别模型的私密和安全性,上述训练好的药名识别模型还可以存储于一区块链的节点中。当需要使用训练好的药名识别模型时,可以从区块链的节点中调用。
通过基于连接时序分类损失函数,计算损失函数值并根据损失函数值调整卷积神经网络与循环神经网络的参数,解决了输入特征与输出标签的对齐问题,有效提高了训练好的药名识别模型识别药名的准确性。
在一些实施例中,将当前轮训练样本图像输入卷积神经网络进行卷积与池化,输出特征图像之前,还可以包括:确定药名识别模型对应的图像识别方向;根据当前轮训练样本图像对应的高度与宽度,确定当前轮训练样本图像对应的图像方向;对图像方向与图像识别方向不同的训练样本图像进行方向调整,获得调整后的训练样本图像;将调整后的训练样本图像及不需要进行方向调整的训练样本图像输入卷积神经网络中进行卷积与池化,得到当前轮训练样本图像对应的特征图像。
需要说明的是,药名识别模型在识别图像时,为确保识别的准确性,对图像识别方向有要求,同一个药名识别模型适用于识别固定方向的图像。若存在多种方向的训练样本图像,则需要训练多个药名识别模型进行识别。因此,在训练药名识别模型时,需要先确定药名识别模型的图像识别方向,然后对训练样本图像进行方向调整。
示例性的,可以设定药名识别模型对应的图像识别方向;例如将图像识别方向设定为横向,也可以将图像识别方向设定为纵向。
示例性的,可以根据当前轮训练样本图像对应的高度与宽度,确定当前轮训练样本图像对应的图像方向。例如,当训练样本图像的宽度大于高度时,可以确定该训练样本图像的图像方向为横向;当训练样本图像的宽度小于或等于高度时,可以确定该训练样本图像的图像方向为纵向。
示例性的,若药名识别模型的图像识别方向为横向,则需要对图像方向为纵向的训练样本图像进行方向调整。例如,可以将训练样本图像旋转90°。对于其它图像方向的训练样本图像,可以根据实际的图像方向进行旋转。
通过统一训练样本图像的方向,可以实现由一个药名识别模型进行横向图像和纵向图像的训练,而不需要对一个药名识别模型单独进行横向图像的训练,对另一药名识别模型单独进行纵向图像的训练,简化了训练过程。
步骤s30、获取待进行药名识别的药盒图像,并确定所述药盒图像对应的至少一个待识别图像。
需要说明的是,本申请实施例提供的药名识别方法可以应用于识别药盒图像中复杂多样的药物名称的复杂场景中。用户可以将需要进行药名识别的药盒图像上传至服务器或终端,其中,服务器或终端安装有药名识别系统或药名识别应用程序。例如,用户可以通过移动手机拍摄需要进行药名识别的药盒图像,然后上传药名识别系统或药名识别应用程序进行药名识别。
示例性的,当检测到用户的图像上传操作时,根据图像上传操作将用户上传的药盒图像,确定为待进行药名识别的药盒图像。
在本申请实施例中,在获取待进行药名识别的药盒图像之后,可以确定药盒图像对应的至少一个待识别图像。请参阅图4,图4是本申请实施例提供的一种确定待识别图像的子步骤的示意性流程图,具体可以包括以下步骤s301和步骤s302。
步骤s301、将所述药盒图像输入文本检测模型进行文本检测,获得所述药盒图像对应的文本位置信息。
需要说明的是,文本检测模型可以是db-net(differentiablebinarizationnetwork,可微分二值化网络)模型。db-net模型最大的创新点在于,对每一个像素点进行自适应二值化,其中二值化阈值由网络学习得到,实现将二值化这一过程加入到网络里一起训练,可以有效增强文本检测模型的鲁棒性,以及提高文本检测模型的检测速度。此外,db-net模型的骨干网络采用resnet(residualneuralnetwork,残差神经网络)结构,在训练过程中,图片输入后经过特征提取和上采样融合等操作后,根据得到的特征图像分别预测出概率特征图和阈值特征图,通过概率特征图和阈值特征图计算得到二值化特征图。
在本申请实施例中,文本检测模型至少包括特征提取层;特征提取层用于对输入文本检测模型的图像进行特征提取,得到对应的特征图像。文本检测模型除了包括特征提取层,还可以包括特征预测层、二值化层以及文本位置预测层。其中,特征预测层用于预测特征图像对应的概率特征图与阈值特征图像;二值化层用于对概率特征图与阈值特征图像进行二值化计算,输出二值化特征图像;文本位置预测层用于对二值化特征图像进行文本区域识别,输出文本位置信息。
示例性的,文本检测模型可以是预先训练好的文本检测模型。在一些实施例中,可以获取预设数量的样本药盒图像,将样本药盒图像输入初始的文本检测模型进行迭代训练,直至文本检测模型收敛,得到训练好的文本检测模型。其中,具体的训练过程在此不作限定。
在一些实施例中,可以将待进行药名识别的药盒图像输入训练好的文本检测模型进行文本检测,获得药盒图像对应的文本位置信息。
请参阅图5,图5是本申请实施例提供的一种对药盒图像进行文本检测的子步骤的示意性流程图,具体可以包括以下步骤s3011至步骤s3013。
步骤s3011、将所述药盒图像输入所述特征提取层进行特征提取,获得所述药盒图像对应的特征图像。
示例性的,可以将药盒图像输入特征提取层,由特征提取层进行特征提取,输出药盒图像对应的特征图像。其中,特征提取层可以包括fpn(featurepyramidnetworks,特征金字塔网络)。需要说明的是,fpn解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量的情况下,大幅度提升了小物体检测的性能。
示例性的,可以通过fpn网络对药盒图像进行上采样,从而提取得到药盒图像对应的特征图像。
步骤s3012、确定所述特征图像对应的二值化特征图。
示例性的,确定特征图像对应的二值化特征图,可以先将特征提取层输出的特征图像输入特征预测层,由特征预测层预测得到特征图像对应的概率特征图与阈值特征图像。然后将概率特征图与阈值特征图像输入二值化层进行二值化计算,输出二值化特征图像。
示例性的,二值化层可以基于可微二值化公式,对概率特征图与阈值特征图像进行二值化计算,获得二值化特征图。
步骤s3013、确定所述二值化特征图中的文本区域,并根据所述文本区域,确定所述文本位置信息。
示例性的,在确定二值化特征图中的文本区域时,可以根据二值化特征图中的像素值,确定二值化特征图中的文本区域。例如,将像素值大于预设的像素阈值的像素点,确定为文本区域。将像素值小于预设的像素阈值的像素点,确定为非文本区域。其中,预设的像素阈值可以根据实际情况设定,具体数值在此不作限定。
示例性的,可以文本区域的左上角坐标与右下角坐标,确定为文本位置信息。从而文本位置信息可以包括文本区域的左上角坐标与右下角坐标。
需要说明的是,现有的基于图像分割的文本检测方法,通常是设置固定的阈值,将分割网络产生的概率特征图转换为二值化特征图。由于不同的阈值对模型的性能影响较大,因此,现有的基于图像分割的文本检测方法的准确度较低。而本申请实施例中的db-net模型通过将二值化操作插入到分割网络中进行联合优化,可以自适应地预测图像中每个位置的阈值,从而能够完全区分像素的前景和背景。不仅提高了文本检测模型的检测速度,而且也增强了文本检测模型的鲁棒性。
通过将待进行药名识别的药盒图像输入文本检测模型进行文本检测,可以准确地确定药盒图像中不同格式的文本对应的文本位置信息。
步骤s302、根据所述文本位置信息对所述药盒图像进行切分,得到至少一个所述待识别图像。
示例性的,可以根据文本区域的左上角坐标与右下角坐标,确定待切分的图像区域,然后对图像区域进行截图,得到待识别图像。当然还可以是其它切分方式,具体的切分方式在此不作限定。其中,每一文本位置信息,对应切分得到一个待识别图像。
通过根据文本位置信息对药盒图像进行切分,可以准确地得到包含文本的待识别图像,进而可以提高对待识别图像进行药名识别的准确性。
步骤s40、将每个所述待识别图像输入训练好的药名识别模型进行药名识别,获得所述药盒图像对应的药名识别结果。
在确定待进行药名识别的药盒图像对应的至少一个待识别图像之后,可以将每个待识别图像输入训练好的药名识别模型进行药名识别,从而可以得到药盒图像对应的药名识别结果。
在一些实施例中,将每个待识别图像输入药名识别模型进行药名识别之前,还可以包括:确定药名识别模型对应的图像识别方向;根据图像识别方向,确定待进行方向调整的待识别图像以及不需要方向调整的待识别图像;对待进行方向调整的待识别图像进行方向调整,获得调整后的待识别图像。
需要说明的是,药名识别模型对应的图像识别方向,在训练时已经确定。例如,若药名识别模型在训练时对应的图像识别方向为横向,则可以确定此时的药名识别模型对应的图像识别方向为横向。又例如,若药名识别模型在训练时对应的图像识别方向为纵向,则可以确定此时的药名识别模型对应的图像识别方向为纵向。
示例性的,在确定药名识别模型对应的图像识别方向之后,可以根据图像识别方向,确定待进行方向调整的待识别图像以及不需要方向调整的待识别图像。例如,当图像识别方向为横向时,若待识别图像的宽度大于高度,说明该待识别图像的图像方向为横向,则可以确定该待识别图像不需要方向调整。又例如,当图像识别方向为横向时,若待识别图像的宽度小于高度,说明该待识别图像的图像方向为纵向,则可以确定该待识别图像需要进行方向调整。
示例性的,可以将待进行方向调整的待识别图像进行顺时针方向或逆时针方向旋转,直至将该待识别图像的图像方向调整为横向。
在一些实施例中,将每个待识别图像输入药名识别模型进行药名识别,可以包括:将调整后的待识别图像以及不需要方向调整的待识别图像输入药名识别模型进行药名识别。
示例性的,可以将调整后的待识别图像以及不需要方向调整的待识别图像输入药名识别模型进行药名识别,从而可以获得药盒图像对应的药名识别结果。
通过确定药名识别模型对应的图像识别方向,可以判定是否需要调整待识别图像的方向,实现一个药名识别模型可以识别横向与纵向的待识别图像,不需要额外增加另一个药名识别模型进行识别,不仅减少了计算量和内存消耗,而且还提高了药名识别模型进行药名识别的准确性。
步骤s50、基于预设的药名信息库,对所述药名识别结果进行药名模糊匹配,获得所述药盒图像对应的药物名称。
需要说明的是,由于药名识别模型识别得到的药名识别结果可能存在一些同音词或同义词,导致识别结果不够准确,因此通过对药名识别结果进行药名模糊匹配,可以获得更加准确的药物名称。
示例性的,药名信息库包括多种标准药名文本。在本申请实施例中,可以预先收集多种标准药名文本,并存储至药名信息库中。为进一步保证上述药名信息库的私密和安全性,上述药名信息库可以存储于一区块链的节点中。
在一些实施例中,基于预设的药名信息库,对药名识别结果进行药名模糊匹配,获得药盒图像对应的药物名称,可以包括:基于预设的编辑距离算法,确定药名识别结果与药名信息库中的标准药名文本之间的编辑距离值;将编辑距离值小于预设的编辑距离阈值对应的标准药名文本,确定为药盒图像对应的药物名称。
需要说明的是,levenshteindistance(编辑距离)算法是指两个字符串之间,由一个转成另一个所需要的最小编辑操作次数。
示例性的,可以基于编辑距离算法,计算药名识别结果与药名信息库中的标准药名文本之间的编辑距离值,将编辑距离值小于预设的编辑距离阈值对应的标准药名文本,确定为药盒图像对应的药物名称。
其中,预设的编辑距离阈值可以根据实际情况设定,具体数值在此不作限定。
通过基于预设的药名信息库对药名识别结果进行药名模糊匹配,可以进一步提高识别的药物名称的准确性。
在一些实施方式中,在识别药盒图像中复杂多样的药物名称时,示例性的,识别由中文、英文以及符号组成且文本方向为横向、字体样式为彩色的药物名称,例如药物名称“ab-c颗粒”,首先将该药盒图像输入文本检测模型进行文本检测,得到药盒图像对应的文本位置信息。其次,根据文本位置信息对药盒图像进行切分,得到至少一个待识别图像,待识别图像可以是包含药物名称的图像,也可以是包含其他文字的图像。再次,根据药名识别模型的图像识别方向对待进行方向调整的待识别图像进行方向调整,将调整后的待识别图像以及不需要方向调整的待识别图像输入药名识别模型进行药名识别,获得药盒图像对应的药名识别结果,例如“ab_d颗粒”。最后,基于预设的药名信息库,对药名识别结果“ab_d颗粒”进行药名模糊匹配,得到药盒图像对应的药物名称“ab-c颗粒”。从而可以准确地识别到药盒图像中的药物名称。
在一些实施例中,在获得药盒图像对应的药物名称之后,还可以包括:基于预设的药物名称与用药说明信息之间的对应关系,确定药盒图像对应的药物名称的用药说明信息,并显示药物名称与用药说明信息。
示例性的,用药说明信息可以包括主治功能信息与服用说明信息等等。
示例性的,可以在用户上传药盒图像的服务器或终端中显示药物名称与用药说明信息。例如,在用户的移动手机上显示药物名称与用药说明信息。
在一些实施例中,在获得药盒图像对应的药物名称之后,还可以包括:对药盒图像对应的药物名称进行语音合成,生成药物名称对应的语音信息,并播报语音信息。
示例性的,可以通过tts(texttospeech,语音合成)模型,对药盒图像对应的药物名称进行语音合成,生成药物名称对应的语音信息。需要说明的是,tts模型包括文本分析、声学模型、音频合成等模块,可以实现将一段文本转换为语音信号。
示例性的,在生成药物名称对应的语音信息之后,可以在服务器或终端上播报语音信息。例如,通过用户的移动手机播报语音信息。此外,还可以对用药说明信息进行语音合成,并播报用药说明信息。
在一些实施例中,在获得药盒图像对应的药物名称之后,还可以包括:基于预设的药物名称与用药说明信息之间的对应关系,确定药盒图像对应的药物名称的用药说明信息,并显示药物名称与用药说明信息;对药盒图像对应的药物名称进行语音合成,生成药物名称对应的语音信息,并播报语音信息。
通过确定药盒图像对应的药物名称的用药说明信息,并显示药物名称与用药说明信息,使得用户更加方便地获取到药盒图像上的药物名称与用药说明信息,更加人性化;通过对药盒图像对应的药物名称进行语音合成,生成药物名称对应的语音信息并播报语音信息,使得视力差的用户也非常方便地获取到药盒图像中的药物名称,提高了用户的体验度。
上述实施例提供的药名识别方法,通过构建图像扩充数据,可以实现自动生成丰富的图像训练数据,不仅解决了训练样本不足的问题,而且还提高了药名识别模型的鲁棒性与准确性;通过将增加的图像扩充数据与图像训练数据共同输入药名识别模型进行训练,使得训练好的药名识别模型适用于识别药盒图像中复杂多样的药物名称的场景,从而提高药名识别模型的准确度;通过基于连接时序分类损失函数,计算损失函数值并根据损失函数值调整卷积神经网络与循环神经网络的参数,解决了输入特征与输出标签的对齐问题,有效提高了训练好的药名识别模型识别药名的准确性;通过统一训练样本图像的方向,可以实现由一个药名识别模型进行横向图像和纵向图像的训练,而不需要对一个药名识别模型单独进行横向图像的训练,对另一药名识别模型单独进行纵向图像的训练,简化了训练过程;通过将待进行药名识别的药盒图像输入文本检测模型进行文本检测,可以准确地确定药盒图像中不同格式的文本对应的文本位置信息;通过根据文本位置信息对药盒图像进行切分,可以准确地得到包含文本的待识别图像,进而可以提高对待识别图像进行药名识别的准确性;通过基于预设的药名信息库对药名识别结果进行药名模糊匹配,可以进一步提高识别的药物名称的准确性;通过确定药盒图像对应的药物名称的用药说明信息,并显示药物名称与用药说明信息,使得用户更加方便地获取到药盒图像上的药物名称与用药说明信息,更加人性化;通过对药盒图像对应的药物名称进行语音合成,生成药物名称对应的语音信息并播报语音信息,使得视力差的用户也非常方便地获取到药盒图像中的药物名称,提高了用户的体验度。
请参阅图6,图6是本申请的实施例还提供一种药名识别装置1000的示意性框图,该药名识别装置用于执行前述的药名识别方法。其中,该药名识别装置可以配置于服务器或终端中。
如图6所示,该药名识别装置1000,包括:图像数据获取模块1001、模型训练模块1002、图像提取模块1003、药名识别模块1004和药名模糊匹配模块1005。
图像数据获取模块1001,用于获取图像训练数据,所述图像训练数据为对样本药盒图像进行文本提取得到的,以及获取图像扩充数据。
模型训练模块1002,用于将所述图像训练数据与所述图像扩充数据输入药名识别模型进行迭代训练,直至所述药名识别模型收敛,得到训练好的所述药名识别模型。
图像提取模块1003,用于获取待进行药名识别的药盒图像,并确定所述药盒图像对应的至少一个待识别图像。
药名识别模块1004,用于将每个所述待识别图像输入训练好的所述药名识别模型进行药名识别,获得所述药盒图像对应的药名识别结果。
药名模糊匹配模块1005,用于基于预设的药名信息库,对所述药名识别结果进行药名模糊匹配,获得所述药盒图像对应的药物名称。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器或终端。
请参阅图7,该计算机设备包括通过系统总线连接的处理器和存储器,其中,存储器可以包括非易失性存储介质和内存储器。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种药名识别方法。
应当理解的是,处理器可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取图像训练数据,所述图像训练数据为对样本药盒图像进行文本提取得到的,以及获取图像扩充数据;将所述图像训练数据与所述图像扩充数据输入药名识别模型进行迭代训练,直至所述药名识别模型收敛,得到训练好的所述药名识别模型;获取待进行药名识别的药盒图像,并确定所述药盒图像对应的至少一个待识别图像;将每个所述待识别图像输入训练好的所述药名识别模型进行药名识别,获得所述药盒图像对应的药名识别结果;基于预设的药名信息库,对所述药名识别结果进行药名模糊匹配,获得所述药盒图像对应的药物名称。
在一个实施例中,所述处理器在实现获取图像扩充数据时,用于实现:
基于预设的药物知识库,获取包含药物信息的文本数据,所述文本数据包括中文、英文、数字以及符号中至少一种;对所述文本数据添加文本属性,获得添加文本属性后的所述文本数据,所述文本属性包括文本长度、文本方向、字体大小以及字体样式中至少一种;将添加文本属性后的所述文本数据添加至预设的图像模板中,获得所述图像扩充数据。
在一个实施例中,所述处理器在实现确定所述药盒图像对应的至少一个待识别图像时,用于实现:
将所述药盒图像输入文本检测模型进行文本检测,获得所述药盒图像对应的文本位置信息;根据所述文本位置信息对所述药盒图像进行切分,得到至少一个所述待识别图像。
在一个实施例中,所述文本检测模型至少包括特征提取层;所述处理器在实现将所述药盒图像输入文本检测模型进行文本检测,获得所述药盒图像对应的文本位置信息时,用于实现:
将所述药盒图像输入所述特征提取层进行特征提取,获得所述药盒图像对应的特征图像;确定所述特征图像对应的二值化特征图;确定所述二值化特征图中的文本区域,并根据所述文本区域,确定所述文本位置信息。
在一个实施例中,所述处理器在实现将每个所述待识别图像输入药名识别模型进行药名识别之前,还用于实现:
确定所述药名识别模型对应的图像识别方向;根据所述图像识别方向,确定待进行方向调整的待识别图像以及不需要方向调整的待识别图像;对待进行方向调整的所述待识别图像进行方向调整,获得调整后的所述待识别图像。
在一个实施例中,所述处理器在实现将每个所述待识别图像输入药名识别模型进行药名识别时,用于实现:
将调整后的所述待识别图像以及不需要方向调整的所述待识别图像输入所述药名识别模型进行药名识别。
在一个实施例中,所述药名信息库包括多种标准药名文本;所述处理器在实现基于预设的药名信息库,对所述药名识别结果进行药名模糊匹配,获得所述药盒图像对应的药物名称时,用于实现:
基于预设的编辑距离算法,确定所述药名识别结果与所述药名信息库中的标准药名文本之间的编辑距离值;将编辑距离值小于预设的编辑距离阈值对应的标准药名文本,确定为所述药盒图像对应的药物名称。
在一个实施例中,所述处理器在实现获得所述药盒图像对应的药物名称之后,还用于实现:
基于预设的药物名称与用药说明信息之间的对应关系,确定所述药盒图像对应的药物名称的用药说明信息,并显示所述药物名称与所述用药说明信息;和/或对所述药盒图像对应的药物名称进行语音合成,生成所述药物名称对应的语音信息,并播报所述语音信息。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项药名识别方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字卡(securedigitalcard,sdcard),闪存卡(flashcard)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
1.一种药名识别方法,其特征在于,包括:
获取图像训练数据,所述图像训练数据为对样本药盒图像进行文本提取得到的,以及获取图像扩充数据;
将所述图像训练数据与所述图像扩充数据输入药名识别模型进行迭代训练,直至所述药名识别模型收敛,得到训练好的所述药名识别模型;
获取待进行药名识别的药盒图像,并确定所述药盒图像对应的至少一个待识别图像;
将每个所述待识别图像输入训练好的所述药名识别模型进行药名识别,获得所述药盒图像对应的药名识别结果;
基于预设的药名信息库,对所述药名识别结果进行药名模糊匹配,获得所述药盒图像对应的药物名称。
2.根据权利要求1所述的药名识别方法,其特征在于,所述获取图像扩充数据,包括:
基于预设的药物知识库,获取包含药物信息的文本数据,所述文本数据包括中文、英文、数字以及符号中至少一种;
对所述文本数据添加文本属性,获得添加文本属性后的所述文本数据,所述文本属性包括文本长度、文本方向、字体大小以及字体样式中至少一种;
将添加文本属性后的所述文本数据添加至预设的图像模板中,获得所述图像扩充数据。
3.根据权利要求1所述的药名识别方法,其特征在于,所述确定所述药盒图像对应的至少一个待识别图像,包括:
将所述药盒图像输入文本检测模型进行文本检测,获得所述药盒图像对应的文本位置信息:
根据所述文本位置信息对所述药盒图像进行切分,得到至少一个所述待识别图像。
4.根据权利要求3所述的药名识别方法,其特征在于,所述文本检测模型至少包括特征提取层;所述将所述药盒图像输入文本检测模型进行文本检测,获得所述药盒图像对应的文本位置信息,包括:
将所述药盒图像输入所述特征提取层进行特征提取,获得所述药盒图像对应的特征图像;
确定所述特征图像对应的二值化特征图;
确定所述二值化特征图中的文本区域,并根据所述文本区域,确定所述文本位置信息。
5.根据权利要求1所述的药名识别方法,其特征在于,所述将每个所述待识别图像输入药名识别模型进行药名识别之前,还包括:
确定所述药名识别模型对应的图像识别方向;
根据所述图像识别方向,确定待进行方向调整的待识别图像以及不需要方向调整的待识别图像;
对待进行方向调整的所述待识别图像进行方向调整,获得调整后的所述待识别图像;
所述将每个所述待识别图像输入药名识别模型进行药名识别,包括:
将调整后的所述待识别图像以及不需要方向调整的所述待识别图像输入所述药名识别模型进行药名识别。
6.根据权利要求1所述的药名识别方法,其特征在于,所述药名信息库包括多种标准药名文本;所述基于预设的药名信息库,对所述药名识别结果进行药名模糊匹配,获得所述药盒图像对应的药物名称,包括:
基于预设的编辑距离算法,确定所述药名识别结果与所述药名信息库中的标准药名文本之间的编辑距离值;
将编辑距离值小于预设的编辑距离阈值对应的标准药名文本,确定为所述药盒图像对应的药物名称。
7.根据权利要求1-6任一项所述的药名识别方法,其特征在于,所述获得所述药盒图像对应的药物名称之后,还包括:
基于预设的药物名称与用药说明信息之间的对应关系,确定所述药盒图像对应的药物名称的用药说明信息,并显示所述药物名称与所述用药说明信息;和/或
对所述药盒图像对应的药物名称进行语音合成,生成所述药物名称对应的语音信息,并播报所述语音信息。
8.一种药名识别装置,其特征在于,包括:
图像数据获取模块,用于获取图像训练数据,所述图像训练数据为对样本药盒图像进行文本提取得到的,以及获取图像扩充数据;
模型训练模块,用于将所述图像训练数据与所述图像扩充数据输入药名识别模型进行迭代训练,直至所述药名识别模型收敛,得到训练好的所述药名识别模型;
图像提取模块,用于获取待进行药名识别的药盒图像,并确定所述药盒图像对应的至少一个待识别图像;
药名识别模块,用于将每个所述待识别图像输入训练好的所述药名识别模型进行药名识别,获得所述药盒图像对应的药名识别结果;
药名模糊匹配模块,用于基于预设的药名信息库,对所述药名识别结果进行药名模糊匹配,获得所述药盒图像对应的药物名称。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7任一项所述的药名识别方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7任一项所述的药名识别方法。
技术总结