一种基于图像与信号处理的卡片识别与计数方法与流程

文档序号:11515319阅读:447来源:国知局
一种基于图像与信号处理的卡片识别与计数方法与流程

本发明涉及图像与信号处理、目标识别领域,尤其涉及一种基于图像与信号处理的卡片识别与计数方法。



背景技术:

随着ic智能卡的发展,智能卡在人们的生活中已经越来越普遍和重要,如身份证、银行卡、交通卡和高速公路卡等使用ic智能卡给我们的生活带来了极大的便利和提高效率。卡片识别与计数是生产智能卡的企业必备的技术之一,但是传统的图像识别技术都特别依赖于人工设计的特征提取器,它们提取的特征是比较低级的特征,如尺度不变特征变换(sift)只能提取一些浅显的边缘特征,并且这些特征提取器耗时耗内存。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种基于图像与信号处理的卡片识别与计数方法。可实现大批量卡片高效准确的识别与计数,克服传统的人工清点速度慢错误率高等缺点。

为了解决上述技术问题,本发明实施例提供了一种基于图像与信号处理的卡片识别与计数方法,包括以下步骤:

1)使用摄像头和光栅扫描分别采集卡片图像及波形信号;

2)对采集的图像和波形进行预处理;

3)训练卷积神经网络模型;

4)将预处理的卡片图像和波形信号分别输入所述卷积神经网络模型与卡片计数模型。

进一步地,所述预处理包括以下步骤:

对卡片图像进行包括滤波去噪、倾斜矫正、边缘检测、类型标注的操作;对波形信号中两端向中间扫描,截去波形两端幅值较小的数据得到实际有效的数据。

更进一步地,所述训练卷积神经网络模型的步骤包括:

构建多个子神经网络,对卡片的初步特征进行提取,得到分类结果;再构建子网络评分层对先前构建的子网络进行评分,得出最终的分类结果;其中子网络评分层的函数公式如下:

其中x表示卡片图像,yi表示子网络输出矩阵,wi表示子网络输出矩阵的权重,n表示子网络的数目,max函数表示求解矩阵中最大值的位置,f表示子网络评分层函数。

更进一步地,所述输入片计数模型的步骤包括:对预处理好的卡片波形信号采取小波分析技术,形成第一信号;然后同样是对已经预处理的信号进行相关检测,以获得信号周期形成第二信号;最后合成信号计数单元,合成第一信号与第二信号并计数,从而获得卡片数量。

实施本发明实施例,具有如下有益效果:本发明克服了在大批量卡片需要清点的背景下传统的人工清点速度慢错误率高等缺点,实现了大批量卡片高效准确的识别与计数。

附图说明

图1是本发明的整体流程结构示意图;

图2是本发明卷积神经网络模型的结构示意图

图3是卡片波形原始数据波形;

图4是滤掉均值和两端无效数据后的有效数据波形;

图5是有效数据的自相关曲线的波形;

图6是有效数据的频谱的波形;

图7是滤掉高频及零频率处的频谱增强的波形;

图8是处理后的数据曲线的波形。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。

参照图1所示的结构示意图。

本发明实施例的一种基于图像与信号处理的卡片识别与计数方法,包括以下步骤:

1)摄像头和光栅扫描以采集卡片图像及波形信号;

2)对卡片图像进行滤波去噪、倾斜矫正、边缘检测、类型标注等操作;对波形信号中两端向中间扫描,截去波形两端幅值较小的数据得到实际有效的数据。

3)构建多个子神经网络,对卡片的初步特征进行提取,得到分类结果;再构建评分层对先前构建的子网络进行评分,得出最终的分类结果;上述两个网络构成了卷积神经网络;其中子网络评分层的函数公式如下:

其中x表示卡片图像,yi表示子网络输出矩阵,wi表示子网络输出矩阵的权重,n表示子网络的数目,max函数表示求解矩阵中最大值的位置,f表示子网络评分层函数。

将卡片图像输入到卷积神经网络进行训练,其中采用梯度下降法来调节网络参数,当参数小于设定阈值10-6时,卷积神经网络训练完毕。将带识别的卡片图像输入到卷积神经网络,获得卡片的类型。

4)对预处理好的卡片波形信号采取小波分析技术,形成第一信号;然后同样是对已经预处理的信号进行相关检测,以获得信号周期形成第二信号;最后合成信号计数单元,合成第一信号与第二信号并计数,从而获得卡片数量。

训练卷积神经网络模型的步骤如下:

采集卡片图像数据集,分为训练集和测试集,并为所有卡片图像样本进行标注,来训练卷积神经网络模型。

将大小为256×256的卡片图像输入到卷积层conv1,此卷积层有8个卷积核,其大小为3×3,移动步长为1个像素。输出8张大小为256×256的特征图。

将卷积层conv1输出的8张特征图输入到池化层pool1,池化块的选取maxpooling操作,其大小为2×2,步长为2。输出为8张大小为128×128的特征图。

将池化层pool1输出的特征图输入到卷积层conv2,此卷积层有16个卷积核,其大小为3×3,移动步长为1个像素。输出16张大小为128×128的特征图。

将卷积层conv2输出的特征图输入到池化层pool2,池化快依旧选取maxpooling操作,其大小为2×2,步长为2。输出为16张大小为64×64的特征图。

将池化层pool2输出的特征图输入到卷积层conv3,此卷积层有32个卷积核,其大小为3×3,移动步长为1个像素。输出32张大小为64×64的特征图。

将卷积层conv3输出的特征图输入到池化层pool3,池化快依旧选取maxpooling操作,其大小为2×2,步长为2。输出为32张大小为32×32的特征图。

将池化层pool3输出的32张特征图输入到全连接层再到softmax分类层进行分类。

卡片波形处理步骤如下:

读入原始数据文件,得到原始数据如图3所示;

从数据两端向中间扫描,截去数据两端幅值较小的数据得到实际的有效数据,如图4所示。

由于卡片的厚度相同,有效数据具有很强的周期性,从而有效数据的自相关函数的波峰也有较强的周期性,如图5所示。求出自相关曲线的最高波峰和次高波峰之间的点距,这个点距就是有效数据的周期。

用fft求出有效信号的频谱,如图6所示。由图6可以看出,由于有效数据有较强的相关性,其频谱在周期对应的频率及该频率的倍频处都有峰值出现,第一个峰值的位置可用根据有效数据的周期得出(由于频谱中的最大值的点不一定出现在freq0处,有可能出现在freq0的倍频处,所以通过用自相关曲线求周期来换算,可以一次性得出freq0的位置)。

比freq0更高的频率分量代表了图4中波形有效突起间的无效突起带来的干扰,同时波形的有效突起可能会因为波形畸变给计数带来干扰。为了解决这两个问题,将有效数据的频谱高于freq0×factor1的频率分量置0,同时将freq0处的频谱值增大将有效数据的周期性进一步增强以减少其它因素造成的干扰(可将freq0处的频谱值增大factor2倍来实现)。经过第5)步处理后的有效数据的频谱如图7所示。

对处理后的频谱做ifft并取实部分量得到处理后的数据,如图8所示,由图8可以看出原始有效数据经过频域的处理(实际上相当于低频滤波和频率点增强),数据变得非常光滑,周期性也很明显。处理后数据在原始有效数据波形较好的位置幅值较大,在原始有效数据波形较差的位置幅值较小。通过计算图8曲线的波峰个数就可以得出卡片的张数(图中为20张)。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1