本发明一般地涉及人工智能。更具体地,本发明涉及一种指纹识别方法及系统。
背景技术:
1、指纹识别广泛应用在工作中的各个领域,是一种重要的识别方式。比如在印刷机工厂中,就会使用指纹采集器将印刷机管理人员的指纹录入指纹库。在对印刷机进行操作时,需要管理人员通过指纹识别认证,保证印刷机只在管理人员的权限下才能运行。但是如果管理人员的指纹有伤痕,则当管理人员在采集器上再次输入自己的指纹时,采集器很难准确识别出对应指纹的管理人员,从而影响工作效率。因此,在进行指纹验证时,必须对有伤痕的指纹进行处理,解决有伤痕的指纹难以准确识别相对应管理人员的问题。
2、当使用图像处理算法连接因伤痕断开的纹路时,由于指纹本身含有小部分断开的纹路,这些纹路上含有指纹的特征点。如果不能准确识别出哪些纹路是因伤痕断开可连接,哪些纹路是指纹自身断开的纹路不能连接,则会导致所有断点连接在一起,从而失去指纹特征点,导致指纹识别系统不准确。
技术实现思路
1、为解决上述一个或多个技术问题,本发明提出对验证图像进行识别像素点为伤痕导致的断点,进一步分析排除指纹特征所存在的断点,计算剩余断点的边缘齐整度值,为了提高指纹识别系统的准确性,准确识别因伤痕断开的纹路并将其重新连接起来的问题,为此,本发明在如下的多个方面中提供方案。
2、在第一方面中,本发明公开一种指纹识别方法,包括:录入指纹图像,生成指纹库,采集指纹样本图像,对所述指纹样本图像进行预处理作为验证图像,其中采集指纹样本图像为再次录入纹理断裂的指纹图像;计算所述验证图像中每条纹路上同梯度方向上的目标像素点和目标像素点的相邻两个像素点之间的灰度值的平均差异值,将所述平均差异值进行归一化后作为像素点是断点的断点概率值;设置像素点的移动窗口,以使所述移动窗口至少包含所述验证图像中任意相邻三条纹理的边缘,计算不同尺寸的移动窗口内中心像素点与周围像素点的灰度值的方差并作为移动窗口内灰度值的变化程度值;使用均值聚类对所有断点进行聚类,得到多个聚类簇,对每个所述聚类簇中断点进行分析,将每个聚类簇中断点的连通域中属于同一聚类簇的其他断点依次连接,计算所述其他断点的边缘齐整度值,基于所述边缘齐整度值判断聚类簇中所有断点是否为伤痕导致;根据所述变化程度值和边缘齐整度值确定聚类簇中所有断点是伤痕的伤痕概率值;使用监督学习模型将再次录入的验证图像与指纹库中的指纹匹配,根据匹配结果,对印刷机进行指纹识别认证管理。
3、在一个实施例中,计算所述验证图像中每条纹路上同梯度方向上的目标像素点和目标像素点的相邻两个像素点之间的灰度值的平均差异值,将所述平均差异值进行归一化后作为像素点是断点的断点概率值,包括步骤:
4、使用边缘检测算法计算所述验证图像的纹路上目标像素点的梯度方向;
5、计算目标像素点与目标像素点相邻两个像素点的灰度值的差值,根据所述差值取绝对值后求平均值,作为平均差异值;
6、遍历所有纹路上所有的像素点,得出每个像素点属于断点的断点概率值。
7、在一个实施例中,所述遍历所有纹路上所有的像素点,得出每个像素点属于断点的断点概率值,断点概率值满足下述关系式:
8、;
9、式中,表示第个像素点属于断点内像素点的概率值,表示目标像素点的灰度值的平均差异值;
10、响应于目标像素点的概率值大于预设阈值,则目标像素点为断点内像素点。
11、在一个实施例中,设置像素点的移动窗口,包括步骤:
12、遍历计算所述验证图像中所有两个断点像素点之间的距离,根据所述距离获取两个断点像素点之间的中心像素点和中心像素点的坐标;
13、计算所述中心像素点的两个断点的梯度方向的平均方向,过中心像素点沿着平均方向获得中心像素点的相邻中心像素点,遍历计算所述中心像素点和相邻中心像素点之间的距离的最大值,对所述最大值取整,记为;
14、以所述中心像素点为中心,设置移动窗口的长为个像素点,宽为1个像素点,其中,的取值范围之间的整数。
15、在一个实施例中,所述变化程度值满足下述关系式:
16、;
17、式中,表示第个中心像素点的两个断点的变化程度值,是不同大小窗口的数量,是第个中心像素点与其他像素点在个窗口下的方差;
18、响应于变化程度值大于等于概率阈值时,对中心像素点的两个断点进行保留。
19、在一个实施例中,使用均值聚类对所有断点进行聚类,得到多个聚类簇,对每个所述聚类簇中断点进行分析,将每个聚类簇中断点的连通域中属于同一聚类簇的其他断点依次连接,计算所述其他断点的边缘齐整度值,包括:
20、使用k-means均值聚类算法,对所有断点进行聚类,均值聚类算法中的类簇数量由手肘法确定,得到多个聚类簇;
21、计算每个断点中像素点的梯度方向,获取任意一个断点的平均梯度方向作为基准方向与周围两侧相邻的断点的梯度方向进行作差,得到偏移程度值,遍历计算每个所述基准方向与两侧的平均梯度方向的偏移程度值;
22、根据所述偏移程度值得到边缘齐整度值。
23、在一个实施例中,所述偏移程度值满足下述关系式:
24、;
25、式中,表示第个断点平均梯度方向与基准方向的偏移程度,表示第个断点中像素点的梯度方向,且为基准方向,表示相邻第个断点中像素点的梯度方向,表示相邻第个断点中像素点的梯度方向;
26、所述边缘齐整度值满足下述关系式:
27、;
28、式中,表示边缘齐整度值,表示断点数量,表示断点的序号;
29、响应于边缘齐整度值大于边缘阈值,则该聚类簇中所有断点是由伤痕导致。
30、在一个实施例中,所述伤痕概率值满足下述关系式:
31、;
32、式中,表示第个断点为伤痕的概率值,表示边缘齐整度值,表示第个中心像素点的两个断点的变化程度值。
33、第二方面,本发明公开一种指纹识别系统,包括:处理器和存储器,所述存储器存储有计算机程序指令,当所述计算机程序指令被所述处理器执行时实现所述的或上述的的指纹识别方法。
34、本发明具有以下效果:
35、1.本发明通过确定验证图像中的断点,在所有断点中排除指纹特征点,计算剩余断点的边缘齐整度。根据像素点是断点的概率、像素点是由伤痕导致的概率以及断点的边缘齐整度,来计算断点由伤痕导致的可能性,进一步处理指纹受损导致图像采集不完全的缺点,提高指纹检测的准确性。
36、2.本发明通过根据断点由伤痕导致的可能性,识别验证图像中由伤痕导致的断点,通过插值法将此类中所有断点连接起来,达到复原指纹的效果,从而提高指纹检测的准确性。
1.一种指纹识别方法,其特征在于,包括:
2.根据权利要求1所述的一种指纹识别方法,其特征在于,计算所述验证图像中每条纹路上同梯度方向上的目标像素点和目标像素点的相邻两个像素点之间的灰度值的平均差异值,将所述平均差异值进行归一化后作为像素点是断点的断点概率值,包括步骤:
3.根据权利要求2所述的一种指纹识别方法,其特征在于,所述遍历所有纹路上所有的像素点,得出每个像素点属于断点的断点概率值,断点概率值满足下述关系式:
4.根据权利要求1所述的一种指纹识别方法,其特征在于,设置像素点的移动窗口,包括步骤:
5.根据权利要求1所述的一种指纹识别方法,其特征在于,
6.根据权利要求1所述的一种指纹识别方法,其特征在于,使用均值聚类对所有断点进行聚类,得到多个聚类簇,对每个所述聚类簇中断点进行分析,将每个聚类簇中断点的连通域中属于同一聚类簇的其他断点依次连接,计算所述其他断点的边缘齐整度值,包括:
7.根据权利要求6所述的一种指纹识别方法,其特征在于,
8.根据权利要求1所述的一种指纹识别方法,其特征在于,
9.一种指纹识别系统,其特征在于,包括:处理器和存储器,所述存储器存储有计算机程序指令,当所述计算机程序指令被所述处理器执行时实现根据权利要求1-8任一项所述的指纹识别方法。