一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像识别方法、装置、电子设备及存储介质与流程

2023-01-05 23:21:24 来源:中国专利 TAG:


1.本发明涉及图像识别技术领域,具体提供一种图像识别方法、装置、电子设备及存储介质。


背景技术:

2.目前,银行卡的识别技术比较成熟,现有技术中针对一般场景下的图像识别存在较多方案,但是在例如光线暗、拍摄图像时角度倾斜严重、拍摄的时候卡片在图像中占比较小以及卡片的磨损情况比较严重等情况下,图像识别精度较低。
3.相应地,本领域需要一种新的图像识别方案来解决上述问题。


技术实现要素:

4.为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决上述技术问题。本发明提供了一种图像识别方法、装置、电子设备及存储介质。
5.在第一方面,本发明提供一种图像识别方法,所述方法包括:获取第一待识别图像;将所述第一待识别图像输入识别器,得到识别结果,其中所述识别器包括编码器和解码器;所述编码器包括卷积层、至少一个最大池化层和双向lstm,其中所述卷积层接收所述第一待识别图像并输出第一图像特征,所述至少一个最大池化层对所述第一图像特征进行降维,得到降维后的第一图像特征,所述双向lstm对降维后的第一图像特征进行编码,得到编码后的第一图像特征并输出至所述解码器。
6.在一个实施方式中,所述最大池化层的个数为三个,分别为第一最大池化层、第二最大池化层和第三最大池化层;所述编码器还包括第一残差单元和第二残差单元,其中所述第一残差单元连接在所述第一最大池化层和第二最大池化层之间,所述第二残差单元连接在所述第二最大池化层和第三最大池化层之间;所述第一残差单元和第二残差单元至少包括一个残差块。
7.在一个实施方式中,所述残差块包括residual层、注意力机制、scale层和shortcut连接通路,其中所述residual层对第二图像特征进行卷积后输出至所述注意力机制和scale层,所述scale层对卷积后的第二图像特征和所述注意力机制输出的第三图像特征进行乘积操作,得到第四图像特征;所述残差块进一步对所述第四图像特征和所述shortcut连接通路传送的第二图像特征进行求和操作。
8.在一个实施方式中,所述注意力机制包括依次连接的全局池化层、第一全连接层、第二全连接层和sigmoid函数,其中所述第一全连接层和第二全连接层之间连接有leakyrelu函数。
9.在一个实施方式中,所述获取第一待识别图像,包括:获取第二待识别图像,确定所述第二待识别图像对应的第一检测框;基于所述第一检测框从第二待识别图像中获取第三待识别图像,将所述第三待识别图像输入分类器,得到所述第三待识别图像的类别和方向;基于所述方向和所述第三待识别图像确定所述第一待识别图像。
10.在一个实施方式中,确定所述第二待识别图像对应的第一检测框,包括:利用yolov5网络获取所述第二待识别图像对应的第二检测框;判断所述第二检测框是否满足预设条件;在所述第二检测框不满足预设条件的情况下,利用dbnet网络获取所述第二待识别图像对应的第三检测框;基于所述第二检测框和第三检测框确定所述第二待识别图像对应的第一检测框。
11.在一个实施方式中,基于所述方向和所述第三待识别图像确定所述第一待识别图像,包括:在所述方向与预设方向一致的情况下,将所述第三待识别图像作为第一待识别图像;在所述方向与预设方向不一致的情况下,对所述第三待识别图像的方向进行调整以使其与预设方向一致,得到第一待识别图像。
12.在第二方面,本发明提供一种图像识别装置,所述装置包括:
13.获取模块,被配置为获取第一待识别图像;
14.识别模块,被配置为将所述第一待识别图像输入识别器,得到识别结果,其中所述识别器包括编码器和解码器;所述编码器包括卷积层、至少一个最大池化层和双向lstm,其中所述卷积层接收所述第一待识别图像并输出第一图像特征,所述至少一个最大池化层对所述第一图像特征进行降维,得到降维后的第一图像特征,所述双向lstm对降维后的第一图像特征进行编码,得到编码后的第一图像特征并输出至所述解码器。
15.在第三方面,提供一种电子设备,该电子设备包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行前述任一项所述的图像识别方法。
16.在第四方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行前述任一项所述的图像识别方法。
17.本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
18.本发明中的图像识别方法,首先获取第一待识别图像,接着将第一待识别图像输入识别器得到识别结果,其中识别器包括编码器和解码器;编码器包括卷积层、至少一个最大池化层和双向lstm。如此,通过本技术中的是识别器,能够更加准确地提取待识别图像的图像特征,以及获得精确度较高的识别结果,提高了识别结果的精度。
附图说明
19.参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。此外,图中类似的数字用以表示类似的部件,其中:
20.图1是根据本发明的一个实施例的图像识别方法的主要步骤流程示意图;
21.图2是根据本发明的一个实施例的利用yolov5网络获得第一检测框的示意图;
22.图3是利用yolov5网络对倾斜角度拍摄的银行卡图像进行检测得到第一检测框的示意图;
23.图4是根据本发明的一个实施例的利用dbnet网络获得第二检测框的示意图;
24.图5是利用dbnet网络获得多个第二检测框的示意图;
25.图6是利用dbnet网络获得不完整的第二检测框的示意图;
26.图7是根据本发明的一个实施例的图像识别方法的流程示意图;
27.图8是根据本发明的一个实施例的编码器的结构示意图;
28.图9是根据本发明的一个实施例的残差块的结构示意图;
29.图10是根据本发明的一个实施例的注意力机制的机构示意图;
30.图11是根据本发明的一个实施例的解码器的结构示意图;
31.图12是根据本发明的一个实施例的图像识别方法的完整流程示意图;
32.图13是根据本发明的一个实施例的图像识别装置的结构示意图;
33.图14是根据本发明的一个实施例的电子设备的结构示意图。
34.附图标记列表:
35.11:获取模块;12:识别模块。
具体实施方式
36.下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
37.在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。术语“至少一个a或b”或者“a和b中的至少一个”含义与“a和/或b”类似,可以包括只是a、只是b或者a和b。单数形式的术语“一个”、“这个”也可以包含复数形式。
38.目前,银行卡的识别技术比较成熟,现有技术中针对一般场景下的图像识别存在较多方案,但是在例如光线暗、拍摄图像时角度倾斜严重、拍摄的时候卡片在图像中占比较小以及卡片的磨损情况比较严重等情况下,图像识别精度较低。
39.为此,本技术提出了一种图像识别方法、装置、电子设备及存储介质,首先获取第一待识别图像,接着将第一待识别图像输入识别器,得到识别结果,其中识别器包括编码器和解码器;编码器包括卷积层、至少一个最大池化层和双向lstm。如此,通过本技术中的识别器,能够更加准确地提取待识别图像的图像特征,以及获得精确度较高的识别结果,提高了识别结果的精度。
40.参阅附图1,图1是根据本发明的一个实施例的图像识别方法的主要步骤流程示意图。
41.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,以对银行卡的识别作为对本技术图像识别方法的示例进行详细说明。本领域技术人员应当理解的是,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明所描述的图像识别方法仅用于对银行卡的识别。例如,本技术中的图像识别方法还可以适用于身份证、营业执照等图像的识别。
42.如图1所示,本发明实施例中的图像识别方法主要包括下列步骤s101-步骤s102。
43.步骤s101:获取第一待识别图像。
44.在一个具体实施方式中,所述获取第一待识别图像,包括:获取第二待识别图像,确定所述第二待识别图像对应的第一检测框;基于所述第一检测框从第二待识别图像中获取第三待识别图像,将所述第三待识别图像输入分类器,得到所述第三待识别图像的类别和方向;基于所述方向和所述第三待识别图像确定所述第一待识别图像。
45.示例性地,以银行卡卡号的识别为例,第二待识别图像可以是拍摄的包含整个银行卡的图像,第一待识别图像可以是仅仅包含银行卡卡号所在区域的图像。
46.具体来说,在获取第一待识别图像的过程中,首先获取第二待识别图像,并对其进行识别,得到与之对应的第一检测框。接着利用open cv技术将第一检测框对应的图像从第二识别图像中截取出来,实际上是获取4个顶点坐标组成的目标区域,得到第三待识别图像。其次将第三待识别图像输入多标签的方向分类器,得到第三待识别图像的类别和方向。最后基于所述方向和第三待识别图像确定第一待识别图像。
47.在一个具体实施方式中,确定所述第二待识别图像对应的第一检测框具体可以通过下述步骤来实现。
48.首先,利用yolov5网络获取所述第二待识别图像对应的第二检测框。
49.具体地,图2是利用yolov5网络获得银行卡卡号的第一检测框的一个示例,第一检测框为矩形,可以以矩形对角线上的两个坐标表示,例如,以矩形对角线的起点(xmin,ymin)和终点(xmax,ymax)表示。
50.接着判断所述第二检测框是否满足预设条件。具体根据对角线的起点(xmin,ymin)和终点(xmax,ymax)能够确定第二检测框在第二待识别图像中的具体位置以及第二检测框的长度和宽度,并基于第二检测框的长度和宽度能够计算得到第二检测框的长宽比。
51.具体判断第二检测框的长宽比是否大于预设阈值,若是,则确定第二检测框满足预设条件,若否,则第二检测框不满足预设条件。
52.其次,在所述第二检测框不满足预设条件的情况下,利用dbnet网络获取所述第二待识别图像对应的第三检测框。
53.图3是对倾斜角度下拍摄的银行卡卡号检测的一个示例,这种情况下,检测得到的检测框较大,因此,加入了识别干扰。基于此,采用dbnet网络获取待识别图像对应的第三检测框。
54.示例性地,图4作为第三检测框的一个示例,具体通过矩形框的4个顶点坐标表示第三检测框,分别为左上(x1,y1)、右上(x2,y2)、右下(x3,y3)和左下(x4,y4)。
55.后续步骤中将以第一坐标(xmin,ymin)、第二坐标(xmax,ymax)、第三坐标(x1,y1)、第四坐标(x2,y2)、第五坐标(x3,y3)和第六坐标(x4,y4)对确定第一检测框进行详细说明。
56.最后基于所述第二检测框和第三检测框确定所述第二待识别图像对应的第一检测框。
57.具体来说,先判断第二检测框和第三检测框是否有交集,没有交集则意味着第三检测框为dbnet网络的误检测结果,可以忽略这样的检测框,不再执行后续步骤。示例性地,如图5所示的左下角的检测框为dbnet网络的误检测结果。只有当第二检测框和第三检测框
有交集时,意味着第三检测框落在了银行卡号的识别范围内,进一步可根据第二检测框和第三检测框确定所述待识别图像对应的第一检测框。另外,在与第二检测框有交集的第三检测框有多个时,选择置信度最高的第三检测框来确定第一检测框。
58.具体在确定第一检测框的过程中,先判断是否需要修正第三检测框,若是,则基于修正后的第三检测框得到第一检测框,若否,则直接将第三检测框作为第一检测框。
59.需要对第三检测框进行修正时,说明通过dbnet网络获得的第三检测框不完整或多余,其中图6是第三检测框不完整的一个示例。在dbnet网络检测不完整或多余的情况下,相当于将dbnet识别的检测框在长度方向上拉伸或压缩到与yolov5的检测框在长度方向上一致,最终得到经过第一检测框校正过的检测框。
60.具体在修正过程中,确定第三坐标的横坐标x1与第一坐标的横坐标xmin之间的第一差值,确定第六坐标的横坐标x4与第一坐标的横坐标xmin的第二差值。若第一差值与第二差值均大于第二阈值,可以将第一坐标的横坐标xmin赋值给第三坐标的横坐标x1和第六坐标的横坐标x4。
61.类似的,确定第四坐标的横坐标x2与第二坐标的横坐标xmax之间的第三差值,确定第五坐标的横坐标x3与第二坐标的横坐标xmax之间的第四差值。若第三差值与第四差值均大于第二阈值,可以将第二坐标的横坐标xmax赋值给第四坐标的横坐标x2和第五坐标的横坐标x3。从而得到第一检测框的4个顶点坐标可以表示为左上(xmin,y1)、右上(xmax,y2)、右下(xmax,y3)、左下(xmin,y4)。
62.在一个具体实施方式中,基于所述方向和所述第三待识别图像确定所述第一待识别图像,包括:在所述方向与预设方向一致的情况下,将所述第三待识别图像作为第一待识别图像;在所述方向与预设方向不一致的情况下,对所述第三待识别图像的方向进行调整以使其与预设方向一致,得到第一待识别图像。
63.预设方向指的是第三待识别图像的检测框方向或者文字方向为水平方向。实际上,第三待识别图像的方向可以是水平方向,也可以是非水平方向。示例性地,当第三待识别图像的方向为水平方向时,直接将第三待识别图像作为第一待识别图像,当第三待识别图像的方向为竖直方向时,将第三待识别图像旋转为水平方向,从而得到第一待识别图像。
64.步骤s102:将所述第一待识别图像输入识别器,得到识别结果,其中所述识别器包括编码器和解码器。
65.图7为对纠正方向后得到的第一待识别图像进行识别的一个示例,将第一待识别图像先输入识别器中的编码器,得到编码的特征后再输入解码器,得到识别结果。
66.所述编码器包括卷积层、至少一个最大池化层和双向lstm,其中所述卷积层接收所述第一待识别图像并输出第一图像特征,所述至少一个最大池化层对所述第一图像特征进行降维,得到降维后的第一图像特征,所述双向lstm对降维后的第一图像特征进行编码,得到编码后的第一图像特征并输出至所述解码器。
67.在一个具体实施方式中,所述最大池化层的个数为三个,分别为第一最大池化层、第二最大池化层和第三最大池化层;所述编码器还包括第一残差单元和第二残差单元,其中所述第一残差单元连接在所述第一最大池化层和第二最大池化层之间,所述第二残差单元连接在所述第二最大池化层和第三最大池化层之间;所述第一残差单元和第二残差单元至少包括一个残差块。
68.图8为编码器的一个示例,所述编码器包括卷积层、3个最大池化(mxapool)层和双向lstm,其中3个最大池化(mxapool)层按照连接顺序依次为第一最大池化(mxapool)层、第二最大池化(mxapool)层和第三最大池化(mxapool)层。编码器还包括第一残差单元和第二残差单元,其中,第一残差单元连接在第一最大池化(mxapool)层和第二最大池化(mxapool)层之间,第二残差单元连接在第二最大池化(mxapool)层和第三最大池化(mxapool)层之间。
69.图8中示例出了第一残差单元和第二残差单元的具体结构。其中第一残差单元包括3个残差块,第一个残差块的个数为2,步长(stride)为1;第二个残差块的个数为2,步长(stride)为2;第三个残差块的个数为4,步长(stride)为1。第二个残差单元包括1个残差块,个数为4,步长(stride)为1。但不限于此,在此基础上,第一残差单元和第二残差单元中的残差块的个数还可以增加,残差块的个数越多,残差单元对图像的卷积效果越好。
70.另外,图8中示例出的编码器还包括依次连接在卷积层和第一最大池化(mxapool)层之间的激活函数层和正则化(bn)层,其中激活函数层可以通过swish激活函数来实现。正则化(bn)层主要作用是提高模型的泛化能力和鲁棒性。
71.在一个具体实施方式中,所述残差块包括residual层、注意力机制、scale层和shortcut连接通路,其中所述residual层对第二图像特征进行卷积后输出至所述注意力机制和scale层,所述scale层对卷积后的第二图像特征和所述注意力机制输出的第三图像特征进行乘积操作,得到第四图像特征;所述残差块进一步对所述第四图像特征和所述shortcut连接通路传送的第二图像特征进行求和操作。
72.图9为残差块的一个示例,残差块可以包括residual层、注意力机制、scale层和shortcut连接通路。其中residual层主要是对输入的图像特征进行卷积,并将卷积后的图像特征同时输入注意力机制和scale层。注意力机制可以是se注意力机制,其作用是考虑通道信息。scale层能够对residual层输出的卷积后的图像特征和注意力机制输出的图像特征进行乘积操作。另外,残差块中的

能够对shortcut连接通路传送的图像特征和scale层输出的图像特征进行求和操作。
73.在一个具体实施方式中,所述注意力机制包括依次连接的全局池化层、第一全连接层、第二全连接层和sigmoid函数,其中所述第一全连接层和第二全连接层之间连接有leakyrelu函数。
74.图10为注意力机制的一个示例,注意力机制包括依次连接的全局池化(global pooling)层、第一全连接(fc)层、第二全连接(fc)层和sigmoid函数,其中在第一全连接(fc)层和第二全连接(fc)层之间连接有leakyrelu函数。
75.其中全局池化(global pooling)层的作用是对输入的1
×1×
c维图像特征降维后,得到1
×1×
(c/r)维的图像特征。leakyrelu函数的作用是保持第一全连接(fc)层和第二全连接(fc)层之间元素的非线性。第二全连接(fc)层将1
×1×
(c/r)维的图像特征升维到1
×1×
c维,最后经过sigmoid函数归一化后输出。
76.通过构建包含编码器的识别器,使得编码器模型具有较高的鲁棒性和识别能力。
77.基于上述步骤s101-步骤s102,首先获取第一待识别图像,接着将第一待识别图像输入识别器,得到识别结果,其中识别器包括编码器和解码器;编码器包括卷积层、至少一个最大池化层和双向lstm。如此,通过本技术中的识别器,能够更加准确地提取待识别图像
的图像特征,以及获得精确度较高的识别结果,提高了识别结果的精度。
78.图11为解码器的一个示例,解码器包括嵌入(embedding)层、随机(dropout)层、leakyrelu激活函数、门控循环单元(gru)和leakyrelu激活函数。其中嵌入(embedding)层的作用是将输入的图像特征映射为向量表示。随机(dropout)层的作用是随机丢弃一些权重,提高模型的泛化能力和鲁棒性,从而降低过拟合的风险。门控循环单元(gru)能够更好的捕捉模型的深层连接、并改善梯度消息的问题。
79.通过包含有残差块的编码器,能够准确提取输入的待识别图像的特征,进而将其输入至解码器中,从而得到准确度较高的待识别图像对应的识别结果。
80.以银行卡的识别为例,图12为图像识别方法完整流程的一个示例,首先获取拍摄的银行卡图像,将其输入yolov5网络中,基于获得的检测框确定检测框的长宽比,进而判断长宽比是否大于阈值,阈值可以是10。若是,将截取的检测框图像直接输入分类器中,得到银行卡图像的类别和方向。并在方向与预设方向一致时,将截取的检测框图像输入识别器,得到检测结果。
81.需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
82.进一步,本发明还提供了一种图像识别装置。
83.参阅附图13,图13是根据本发明的一个实施例的图像识别装置的主要结构框图。
84.如图13所示,本发明实施例中的图像识别装置主要包括获取模块11和识别模块12。在一些实施例中,获取模块11和识别模块12中的一个或多个可以合并在一起成为一个模块。
85.在一些实施例中,获取模块11可以被配置为获取第一待识别图像。
86.识别模块12可以被配置为将所述第一待识别图像输入识别器,得到识别结果,其中所述识别器包括编码器和解码器;所述编码器包括卷积层、至少一个最大池化层和双向lstm,其中所述卷积层接收所述第一待识别图像并输出第一图像特征,所述至少一个最大池化层对所述第一图像特征进行降维,得到降维后的第一图像特征,所述双向lstm对降维后的第一图像特征进行编码,得到编码后的第一图像特征并输出至所述解码器。
87.一个实施方式中,具体实现功能的描述可以参见步骤s101-步骤s102所述。
88.上述图像识别装置以用于执行图1所示的图像识别方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,图像识别装置的具体工作过程及有关说明,可以参考图像识别方法的实施例所描述的内容,此处不再赘述。
89.本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、u盘、移动硬盘、磁碟、光盘、计算机存储
器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
90.进一步,本发明还提供了一种电子设备。在根据本发明的一个电子设备实施例中,如图14所示,电子设备包括处理器91和存储装置92,存储装置可以被配置成存储执行上述方法实施例的图像识别方法的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述方法实施例的图像识别方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。
91.进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的图像识别方法的程序,该程序可以由处理器加载并运行以实现上述图像识别方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。
92.进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的装置的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
93.本领域技术人员能够理解的是,可以对装置中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
94.至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献