字符的识别方法、装置及计算机存储介质
文献发布时间:2023-06-19 10:54:12
技术领域
本发明涉及字符识别技术领域,尤其涉及字符的识别方法、装置及计算机存储介质。
背景技术
随着计算机图像视觉技术的发展,越来越多的场景采用视觉方案辅助或替代人工。字符识别技术已应用在众多行业或场景中,比如工业喷码、银行卡、身份证等。由于不同场景下的字符形态各异,字符背景更是千差万别,例如包装上的生产日期、芯片的编号、瓶体上的激光喷码等。基于传统特征提取方法难以胜任日益复杂的识别任务,基于深度学习的方法越来越受到业内的关注。
然而,在基于深度学习的字符识别方法中,卷积神经网络的采样方式较为固定,导致提取得来的特征信息包含了太多除字符外的背景信息,特征信息的提取不太准确,字符识别的准确度较低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种字符的识别方法、装置及计算机存储介质,旨在根据像素点的二维偏移量调整卷积神经网络的采样点位置,提高字符识别的准确度。
为实现上述目的,本发明提供一种字符的识别方法,所述字符的识别方法包括以下步骤:
在获取到包含字符的待识别图像后,获取所述待识别图像中各个像素点对应的二维偏移量;
根据所述二维偏移量调整目标神经网络模型在所述待识别图像上的采样点坐标;
根据调整后的采样点坐标以及所述目标神经网络模型获取所述待识别图像中所述字符的字符信息。
可选地,所述根据调整后的采样点坐标以及所述目标神经网络模型获取所述待识别图像中所述字符的字符信息的步骤包括:
根据调整后的采样点坐标获取所述待识别图像的特征信息;
将所述特征信息输入所述目标神经网络模型,以获取所述待识别图像中所述字符的字符信息。
可选地,所述根据调整后的采样点坐标获取所述待识别图像的特征信息的步骤包括:
采用注意力机制获取所述待识别图像中各个像素点的注意力权重,其中,所述注意力权重包括空间注意力权重和/或通道注意力权重;
根据所述注意力权重以及调整后的采样点坐标确定所述待识别图像中的目标图像区域;
获取所述目标图像区域的所述特征信息。
可选地,所述根据所述注意力权重以及调整后的采样点坐标确定所述待识别图像中的目标图像区域的步骤包括:
根据调整后的采样点坐标确定所述待识别图像中各个像素点的得分;
根据各个像素点的得分以及像素点的注意力权重获取像素点的加权得分;
根据所述加权得分确定所述待识别图像中的目标像素点,其中,所述目标图像区域包括所述目标像素点。
可选地,所述在获取到包含字符的待识别图像后,获取所述待识别图像中各个像素点对应的二维偏移量的步骤之前,还包括:
获取多个第一预设图像;
对所述多个第一预设图像中的字符尺寸进行聚类处理,得到多个类别的字符尺寸;
将所述多个类别的字符尺寸作为锚框的尺寸;
根据所述锚框的尺寸对预设神经网络模型进行训练,得到所述目标神经网络模型。
可选地,所述根据所述锚框的尺寸对预设神经网络模型进行训练的步骤包括:
按照所述锚框的尺寸对所述第一预设图像进行图像尺寸归一化;
根据图像尺寸归一化后的第一预设图像对所述预设神经网络模型进行训练。
可选地,所述根据调整后的采样点坐标以及所述目标神经网络模型获取所述待识别图像中所述字符的字符信息的步骤包括:
根据调整后的采样点坐标获取所述待识别图像的特征信息;
将所述特征信息输入所述目标神经网络模型,以得到编码后的特征信息;
采用所述锚框的尺寸对编码后的特征信息进行解码处理,得到所述待识别图像中所述字符的字符信息。
可选地,所述在获取到包含字符的待识别图像后,获取所述待识别图像中各个像素点对应的二维偏移量的步骤之前,还包括:
获取采集得到的原始图像;
对所述原始图像进行预处理,得到所述待识别图像,其中,所述预处理包括图像尺寸归一化和/或像素值归一化。
此外,为实现上述目的,本发明还提供一种字符的识别装置,所述字符的识别装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的字符的识别程序,所述字符的识别程序被所述处理器执行时实现如上所述中任一项所述的字符的识别方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有字符的识别程序,所述字符的识别程序被处理器执行时实现如上所述中任一项所述的字符的识别方法的步骤。
本发明实施例提出的字符的识别方法、装置及计算机存储介质,在获取到包含字符的待识别图像后,获取所述待识别图像中各个像素点对应的二维偏移量,根据所述二维偏移量调整目标神经网络模型在所述待识别图像上的采样点坐标,根据调整后的采样点坐标以及所述目标神经网络模型获取所述待识别图像中所述字符的字符信息。本发明通过获取像素点的二维偏移量,根据二维偏移量调整卷积神经网络的采样点位置,避免采样点位置固定,卷积的感受野可更加集中在图像中的字符周围,根据调整后的采样点位置提取的图像特征更加准确,字符识别的准确度更高。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本发明字符的识别方法的一实施例的流程示意图;
图3为本发明字符的识别方法另一实施例的流程示意图;
图4为本发明字符的识别方法再一实施例的流程示意图;
图5为本发明目标神经网络模型的训练过程的流程示意图;
图6为目标神经网络模型的测试过程以及实际应用过程的流程示意图;
图7为本发明采用普通卷积时的采样点坐标位置的效果示意图;
图8为本发明采用可变形卷积时的采样点坐标位置的效果示意图;
图9为本发明注意力机制的网络结构的示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种解决方案,通过获取像素点的二维偏移量,根据二维偏移量调整卷积神经网络的采样点位置,避免采样点位置固定,卷积的感受野可更加集中在图像中的字符周围,根据调整后的采样点位置提取的图像特征更加准确,字符识别的准确度更高。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端为终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,通信总线1002,存储器1003。其中,通信总线1002用于实现这些组件之间的连接通信。存储器1003可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1003可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1003中可以包括字符的识别程序。
在图1所示的终端中,处理器1001可以用于调用存储器1003中存储的字符的识别程序,并执行以下操作:
在获取到包含字符的待识别图像后,获取所述待识别图像中各个像素点对应的二维偏移量;
根据所述二维偏移量调整目标神经网络模型在所述待识别图像上的采样点坐标;
根据调整后的采样点坐标以及所述目标神经网络模型获取所述待识别图像中所述字符的字符信息。
进一步地,处理器1001可以调用存储器1003中存储的字符的识别程序,还执行以下操作:
根据调整后的采样点坐标获取所述待识别图像的特征信息;
将所述特征信息输入所述目标神经网络模型,以获取所述待识别图像中所述字符的字符信息。
进一步地,处理器1001可以调用存储器1003中存储的字符的识别程序,还执行以下操作:
采用注意力机制获取所述待识别图像中各个像素点的注意力权重,其中,所述注意力权重包括空间注意力权重和/或通道注意力权重;
根据所述注意力权重以及调整后的采样点坐标确定所述待识别图像中的目标图像区域;
获取所述目标图像区域的所述特征信息。
进一步地,处理器1001可以调用存储器1003中存储的字符的识别程序,还执行以下操作:
根据调整后的采样点坐标确定所述待识别图像中各个像素点的得分;
根据各个像素点的得分以及像素点的注意力权重获取像素点的加权得分;
根据所述加权得分确定所述待识别图像中的目标像素点,其中,所述目标图像区域包括所述目标像素点。
进一步地,处理器1001可以调用存储器1003中存储的字符的识别程序,还执行以下操作:
获取多个第一预设图像;
对所述多个第一预设图像中的字符尺寸进行聚类处理,得到多个类别的字符尺寸;
将所述多个类别的字符尺寸作为锚框的尺寸;
根据所述锚框的尺寸对预设神经网络模型进行训练,得到所述目标神经网络模型。
进一步地,处理器1001可以调用存储器1003中存储的字符的识别程序,还执行以下操作:
按照所述锚框的尺寸对所述第一预设图像进行图像尺寸归一化;
根据图像尺寸归一化后的第一预设图像对所述预设神经网络模型进行训练。
进一步地,处理器1001可以调用存储器1003中存储的字符的识别程序,还执行以下操作:
根据调整后的采样点坐标获取所述待识别图像的特征信息;
将所述特征信息输入所述目标神经网络模型,以得到编码后的特征信息;
采用所述锚框的尺寸对编码后的特征信息进行解码处理,得到所述待识别图像中所述字符的字符信息。
进一步地,处理器1001可以调用存储器1003中存储的字符的识别程序,还执行以下操作:
获取采集得到的原始图像;
对所述原始图像进行预处理,得到所述待识别图像,其中,所述预处理包括图像尺寸归一化和/或像素值归一化。
参照图2,在一实施例中,所述字符的识别方法包括以下步骤:
步骤S10,在获取到包含字符的待识别图像后,获取所述待识别图像中各个像素点对应的二维偏移量;
在本实施例中,实施例终端为字符的识别装置。字符的识别装置可接收包含字符的待识别图像,并识别出待识别图像中的字符的字符信息。包含字符的待识别图像可以包括产品包装上的生产日期的图像、芯片的编号的图像、瓶体上的激光喷码等。
可选地,在获取到包含字符的待识别图像后,可通过普通卷积获取待识别图像中各个像素点对应的二维偏移量,具体地,将待识别图像输入神经网络中的一个普通卷积层,该卷积层的卷积填充为same,即输出图像的大小以及分辨率与输入图像一致,该卷积层的输出结果为输入图像中每个像素点对应的二维偏移量,二维偏移量即为该像素点的偏移向量,偏移向量表征可能存在图像特征的图像区域相对于该像素点的方向以及距离。
可选地,在获取待识别图像中各个像素点对应的二维偏移量之前,需要先获取待识别图像。待识别图像可以是经过预处理的图像,例如,首先获取摄像头采集得到的原始图像,并对原始图像进行预处理,得到待识别图像,其中,预处理包括图像尺寸归一化和/或像素值归一化,以通过预处理提高图像的特征信息的识别精度。
步骤S20,根据所述二维偏移量调整目标神经网络模型在所述待识别图像上的采样点坐标;
在本实施例中,目标神经网络模型为训练完毕的神经网络模型,因此可直接通过该目标神经网络模型来对待识别图像进行处理。在通过目标神经网络模型来对待识别图像进行处理时,如图7所示,目标神经网络模型会根据输入的待识别图像,利用目标神经网络的卷积核对待识别图像进行采样,以提取待识别图像中的特征信息,因此,在本实施例中,可将目标神经网络中的卷积层设置为可变形卷积核,以通过卷积核的形态的改变,使得卷积核的形态更加贴合待识别图像中的字符,具体地,如图8所示,根据二维偏移量调整目标神经网络模型的卷积核在待识别图像上的采样点坐标,通过采样点位置的变化,改变卷积核的形态,如图7所示,图7为调整前的采样点坐标。
可选地,在根据二维偏移量调整采样点坐标时,获取采样点坐标在待识别图像上对应的像素点,并获取该像素点对应的二维平移量,根据该二维偏移量调节采样点坐标,以使采样点的位置按照该二维偏移量进行偏移。
步骤S30,根据调整后的采样点坐标以及所述目标神经网络模型获取所述待识别图像中所述字符的字符信息。
在本实施例中,在调整目标神经网络模型在待识别图像上的采样点坐标后,控制目标神经网络模型按照调整后的采样点坐标对待识别图像进行采样,以提取出待识别图像中的特征信息,通过特征信息识别出待识别图像中的字符信息,实现对于字符的识别。
在本实施例公开的技术方案中,将神经网络模型中的普通卷积替换为可变形卷积,根据像素点的二维偏移量调整卷积神经网络的采样点位置,避免采样点位置固定,可变形卷积的卷积核可变,卷积的感受野可更加集中在图像中的字符周围,根据调整后的采样点位置提取的图像特征更加准确,字符识别的准确度更高。
在另一实施例中,如图3所示,在上述图2所示的实施例基础上,步骤S30包括:
步骤S31,根据调整后的采样点坐标获取所述待识别图像的特征信息;
在本实施例中,控制目标神经网络的可变形卷积层按照调整后的采样点坐标对待识别图像进行采样,通过采样获取到待识别图像的特征信息。
可选地,特征信息可包括待识别图像中的字符所在的像素点信息。
可选地,目标神经网络包括多个可变形卷积层,以对待识别图像进行多次采样,以获取待识别图像中更加准确的特征信息。
可选地,目标神经网络模型在待识别图像上的采样点包括多个,根据多个采样点对待识别图像进行连续逐步采样。
可选地,在根据调整后的采样点坐标获取待识别图像的特征信息时,还可引入注意力机制,通过注意力机制对待识别图像的特征信息进行优化和增强。具体地,如图9所示,在正常的卷积操作后分出至少一个旁路分支,在旁路分支上设置注意力模型,注意力模型包括空间注意力模型(spatial attention)和/或通道注意力模型(channel attention),例如,空间注意力模型可以是STN网络(Spatial Transformer Network),为图像上各个位置生成通道注意力权重,通道注意力模型可以是SENet网络(Sequeeze and ExcitationNet),为每个特征通道生成空间注意力权重,其中,通道注意力提取通道间的关系,空间注意力则强调不同空间位置的特征关系。将待识别图输入至注意力模型,并获取注意力模型输出的待识别图像中各个像素点的注意力权重,得到注意力在待识别图像中各个位置的权重,其中,注意力权重包括空间注意力权重和/或通道注意力权重。根据注意力权重以及调整后的采样点坐标确定待识别图像中的目标图像区域,再获取目标图像区域的特征信息,以通过注意力权重增加对待识别图像中字符区域的关注,以及忽略待识别图像中非字符区域,使得提取到的特征信息更加准确,字符的识别精度也更高。
可选地,在根据注意力权重以及调整后的采样点坐标确定待识别图像中的目标图像区域时,可根据调整后的采样点坐标确定待识别图像中各个像素点的得分,各个像素点的得分表征该像素点的基础权重。根据各个像素点的得分以及像素点的注意力权重获取像素点的加权得分,通过注意力权重对得分加权,实现对待识别图像中的像素点的再一次过滤。根据加权得分确定待识别图像中的目标像素点,其中,目标图像区域包括目标像素点,例如,可将加权得分超过预设得分的像素点作为目标像素点,并将所有目标像素点所在的图像区域作为目标图像区域。
可选地,在根据调整后的采样点坐标确定待识别图像中各个像素点的得分时,可获取待识别图像中各个像素点与调整后的采样点坐标之间的图像距离,根据图像距离确定各个像素点的得分,其中,图像距离越小时,像素点的得分越高。
步骤S32,将所述特征信息输入所述目标神经网络模型,以获取所述待识别图像中所述字符的字符信息。
在本实施例中,目标神经网络模型为事先训练好的模型,事先可根据多个预设图像的集合进行训练和测试,其中,各个预设图像中标记有字符在各个预设图像中的位置,因此,在将特征信息输入至目标神经网络模型中后,可利用目标神经网络模型识别出待识别图像中的字符,并得到目标神经网络模型输出的待识别图像的字符信息。
在本实施例公开的技术方案中,根据调整后的采样点坐标获取所述待识别图像的特征信息,将特征信息输入所述目标神经网络模型,以获取待识别图像中所述字符的字符信息,通过基于可变形卷积的神经网络模型进行字符识别,使得识别到的字符更接近实际字符,字符识别更加准确。
在再一实施例中,如图4所示,在图2至图3任一实施例所示的基础上,步骤S10之前,还包括:
步骤S40,获取多个第一预设图像;
在本实施例中,在采用目标神经网络模型对待识别图像进行识别之前,需要对预设神经网络模型进行训练,得到训练完毕的目标神经网络模型。预设神经网络模型的网络结构可根据实际需要进行设置,例如,可将网络结构中的卷积层设置为可变形卷积层。
可选地,多个第一预设图像所在的集合为训练集合,通过训练集合中的多个第一预设图像对预设神经网络模型进行训练。
步骤S50,对所述多个第一预设图像中的字符尺寸进行聚类处理,得到多个类别的字符尺寸;
在本实施例中,各个第一预设图像均预先框选有字符所在的位置,框选出的图像区域的尺寸即为字符尺寸,即预先框选出的图像区域即为字符的实际位置。在字符包括产品包装上的生产日期、芯片的编号以及瓶体上的激光喷码等时,字符的形态以及大小类似,即字符识别场景较为单一,因此,可对神经网络的锚框(anchor)尺寸进行调整,使得多个神经网络中各个锚框的尺寸相近,使得各个锚框均可更加贴近字符实际尺寸,字符的识别精度更高。具体地,如图5所示,对多个第一预设图像中的字符尺寸进行聚类处理,以对各个字符尺寸进行分类,得到多个类别的字符尺寸,其中,聚类处理的算法可包括K-MEANS聚类算法、均值偏移聚类算法等。
可选地,在对多个第一预设图像中的字符尺寸进行聚类处理后,可对每一类中的多个字符尺寸取平均值或者最大值,或者对每一类中的多个字符尺寸确定聚类中心,将平均值或者最大值或者聚类中心的字符尺寸作为该类别的字符尺寸。
步骤S60,将所述多个类别的字符尺寸作为锚框的尺寸;
步骤S70,根据所述锚框的尺寸对预设神经网络模型进行训练,得到所述目标神经网络模型。
在本实施例中,在获取到各个类别的字符尺寸后,将各个类别的字符尺寸均作为锚框(anchor)的尺寸,再根据锚框的尺寸以及多个第一预设图像对预设神经网络模型进行训练,得到训练完毕的目标神经网络模型。
可选地,如图5所示,在根据锚框的尺寸以及多个第一预设图像对预设神经网络模型进行训练时,按照锚框的尺寸对第一预设图像进行预处理,预处理包括图像尺寸归一化,以通过图像尺寸归一化,得到相同形式的标准图像。根据预处理后的第一预设图像对预设神经网络模型进行训练,保证训练样本数据的形式一致性。可选地,预处理还可包括制作标签和/或像素归一化。
可选地,如图6所示,在训练得到目标神经网络模型后,还可获取多个第二预设图像,通过多个第二预设图像对目标神经网络模型进行测试,以检测目标神经网络模型的训练是否合格,并在训练合格后采用目标神经网络模型对待识别图像进行字符识别。
可选地,在根据调整后的采样点坐标以及目标神经网络模型获取待识别图像中字符的字符信息的步骤中,如图6所示,在根据调整后的采样点坐标获取到待识别图像的特征信息后,可将特征信息输入至目标神经网络模型,以通过目标神经网络模型对特征信息进行编码,得到编码后的深度特征信息。采用各个锚框尺寸对编码后的深度特征信息进行解码处理,得到待识别图像中的字符的字符信息。
可选地,字符信息包括字符位置以及标签,字符位置包括字符待识别图像中的位置,标签包括字符类别。
在本实施例公开的技术方案中,通过对字符尺寸的聚类,得到神经网络中的锚框的尺寸,使得目标神经网络模型的锚框尺寸更加单一,根据该锚框尺寸的神经网络模型,对产品包装上的生产日期、芯片的编号以及瓶体上的激光喷码等相似字符的识别更加精确。
在又一实施例中,在图2至图4任一实施例所示的基础上,字符的识别方法的改进包括两个部分:第一部分是对锚框策略的调整,第二部分是对网络的改进。
在第一部分中,如图5所示,训练阶段先统计训练集中字符尺寸,再进行聚类,作为网络的锚框,然后对数据进行预处理和编码处理,训练模型;如图6所示,测试阶段使用锚框对编码结果进行解码,得到字符位置和类别。
训练阶段的流程如图5所示,包括:
步骤1、输入训练集图片
步骤2、统计训练集中字符的尺寸
步骤3、对字符尺寸进行聚类,作为锚框
步骤4、根据聚类后的锚框,对训练集进行预处理,包括制作标签、图像尺寸归一化和像素值归一化。
步骤5、将预处理后的训练集送入网络训练。
测试阶段的流程如图6所示,包括:
步骤6、输入图片,并进行预处理,包括图像尺寸归一化和像素值归一化。
步骤7、图像经过深度卷积神经网络编码
步骤8、得到经过编码后的深度特征
步骤9、根据步骤3聚类的anchor尺寸,对深度特征解码
步骤10和11、解码后得到字符位置和类别。
在本实施例中,传统的深度学习目标检测大多基于锚框(anchor),由于要兼顾大小目标,anchor需满足一定大小分布。而字符识别场景目标尺寸较为单一,无需兼容相差极大的尺寸,基于目标检测的锚框策略需要做出调整。通过对训练集字符尺寸进行统计,并聚类,作为锚框对训练集数据编码生成标签,使得锚框更贴近字符尺寸,提升字符识别精度。
在第二部分中,首先,如图7以及图8所示,使用图8的可形变卷积(deformableconvolutional)替换图7的普通卷积,可形变卷积的感受野可以随着目标的尺寸发生变化,感受野可以更加集中在字符周围,而不会过多的采集背景信息,对于粘连字符和窄字符可以提取出更准确的特征,提升系统的精度和稳定性。
其次,如图9所示,使用了注意力机制(attention),对特征进行优化和增强。通过注意力模块学习出一个对图像特征的权重分布,再把权重与原有特性相组合,得到加权后的图像特性。加权实际是对特征的一次过滤,加权后的特征关注重要的信息,忽略次要的信息。不仅可以对图像特征的空间层面进行过滤,还可以在通道层面进行过滤,如图9所示,字符经过卷积神经网络提取的特征,使用注意力机制后,在某一特定位置的字符特性得到加强,从而提高对字符识别的准确率。
在本实施例中,改进了网络结构,将字符识别任务中的普通卷积替换成可形变卷积,并且加入注意力机制,使得提取的特征更加准确,可以有效提升字符识别精度,提高神经网络模型的鲁棒性。
此外,本发明实施例还提出一种字符的识别装置,所述字符的识别装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的字符的识别程序,所述字符的识别程序被所述处理器执行时实现如上各个实施例所述的字符的识别方法的步骤。
此外,本发明实施例还提出一种计算机存储介质,所述计算机存储介质上存储有字符的识别程序,所述字符的识别程序被处理器执行时实现如上各个实施例所述的字符的识别方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
- 字符识别方法、装置、计算机设备和计算机可读存储介质
- 字符识别方法、装置、计算机设备和计算机可读存储介质