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

一种复杂背景下的手掌检测方法及系统与流程

2022-11-23 13:02:45 来源:中国专利 TAG:


1.本发明属于信息安全技术领域,尤其涉及一种复杂背景下的手掌检测方法及系统。


背景技术:

2.非接触掌静脉识别技术是一种新兴的生物特征识别技术,掌静脉识别因其获取的是人体内部信息,具备了安全和难伪造的优点。接触性掌静脉由于其接触面积较大容易引起用户在卫生方面的排斥心理,不利于掌静脉识别技术的发展,而非接触掌静脉识别技术由于没有固定装置的限制,不需要用户与设备直接接触,可以消除卫生方面的隐患,给用户带来一种新型的生物特征识别体验,具有广阔的应用发展前景。非接触采集过程中,用户手掌放置的自由度较大,采集的掌静脉图像背景复杂多样,因此采集到的掌静脉图像很有可能包含复杂背景。
3.现有的非接触掌静脉识别技术一般是直接定位特征点,若是复杂背景下,特征点难以定位,比如,申请公布号为 cn114511885a 的中国发明专利申请公开了手掌感兴趣区域提取系统和方法 ,包括:获取所述目标手掌的所述特征图像;基于所述特征图像,确定所述目标手掌的第一轮廓、手掌中心以及第一目标点和第二目标点,所述第一目标点包括食指和中指的交叉点,所述第二目标点包括无名指和小指的交叉点;以所述手掌中心为中心点,所述第一目标点与所述第二目标点的目标连线的长度为边长,建立目标正方形,其中,所述目标正方形中至少有一个边与所述目标连线平行;以及以所述手掌中心为基点,基于预设的比例参数依次调整所述目标正方形的尺寸,直至与所述第一轮廓相交,将所述特征图像中与所述第一轮廓相交的正方形区域对应的图像作为所述目标手掌的感兴趣区域。因此,复杂背景下如何截取出手掌区域是亟需解决的问题。


技术实现要素:

4.本发明的目的在于提供一种复杂背景下的手掌检测方法及系统,以解决现有非接触掌静脉识别技术在背景区域较大时,容易导致感兴趣区域选择错误的问题。
5.为解决上述技术问题,本发明采用的技术方案是:本发明涉及的一种复杂背景下的手掌检测方法,其包括以下步骤:s1.对含有复杂背景的原始手掌图像进行二值化分割,得到二值图;s2.基于二值图计算手掌宽度;s3.遍历二值图,计算每一行中白色区域的左边界点和右边界点的间距,与手掌宽度进行比较,寻找类似手指区域,计算类似手指区域的左、右边界点坐标的平均值,将坐标平均值所在位置像素点的像素值赋值为1,得到类似手指区域的骨架线;s4.构建4*n的数组,n为原始手掌图像的列数,基于该数组检测所有类似手指区域的骨架线,得到每根类似手指区域的骨架线的起始点、终点、长度和标记区域,统计类似手指区域的骨架线的数量;
s5基于类似手指区域的骨架线的起始点、终点、长度及标记区域区分类似手指区域的骨架线中的手指区域骨架线和非手指区域骨架线,剔除非手指区域骨架线;s6.基于手指区域骨架线,去除二值图中的复杂背景。
6.优选地,所述的步骤s2中基于二值图计算手掌宽度的具体方式为:求取二值图中所有的白色像素点的总数,用白色像素点的总数除以存在白色像素点的总行数,作为手掌宽度。
7.优选地,所述的步骤s3中寻找类似手指区域的判定依据为:当左边界点和右边界点的间距小于手掌宽度的1/4时,判定该白色区域为类似手指区域。
8.优选地,所述的步骤s3中遍历二值图采用的是从上到下、从左到右的顺序进行遍历,当检测到某一行中所有的白色区域的宽度均大于手掌宽度的4/5,结束遍历。
9.优选地,所述的步骤s4中构建4*n的数组,n为原始手掌图像的列数,基于该数组检测所有类似手指区域的骨架线,得到每根类似手指区域的骨架线的起始点、终点、长度和标记区域的具体步骤包括:s4.1.创建4*n的数组a,数组的每位的初始值均为0,其中,第一行代表骨架线的长度,第二行代表骨架线起始点的行坐标,第三行代表骨架线起始点的列坐标,第四行代表骨架线终点的行坐标;s4.2.遍历找到步骤3检测到的骨架线上的某个骨架点(i,j),判断该骨架点是否为骨架线的起始点,若是,将该骨架点的行坐标i赋值给a(2,j),将该骨架点的列坐标j赋值给a(3,j),若不是起始点,则将a(2,j)、a(2,j-1)和a(2,j 1)相加求和结果赋值给a(2,j),将a(3,j)、a(3,j-1)和a(3,j 1)相加求和结果赋值给a(3,j);s4.3.将a(1,j)、a(1,j-1)和a(1,j 1)相加再加1并赋值给a(1,j),得到骨架线的长度,将骨架点的行坐标i赋值给a(4,j),得到骨架线的终点,同时,将数组a第j-1列和j 1列数值置0;s4.4.将骨架点对应的二值图上所在行的白色区域数值置为对应骨架线起始点的列坐标a(3,j),获得标记区域;s4.5.重复步骤s4.2-s4.4直至检测完成所有的骨架线,获得每条骨架线的起始点、终点、长度和标记区域;所述的步骤s4.2和s4.3中,i为某骨架点的行坐标,j为骨架点的列坐标,1、2、3、4分别为数组a的行数标引。
10.优选地,所述的步骤s4.2判断骨架点是否为骨架线的起始点的判断方法为:判断数组a(1,j)、数组a(1,j-1)、数组a(1,j 1)是否均为0,若是,则该骨架点为骨架线的起始点,反之该骨架点不是骨架线的起始点。
11.优选地,所述的步骤s5基于类似手指区域的骨架线的起始点、终点、长度及标记区域区分类似手指区域的骨架线中的手指区域骨架线和非手指区域骨架线,剔除非手指区域骨架线的具体步骤包括:s5.1.找出长度最大的骨架线,该骨架线的长度为l
max
,将长度小于1/10l
max
的骨架线当做非手指骨架线进行排除,同时排除该骨架线相对应的标记区域;s5.2.确认剩余骨架线的数量,并依据剩余骨架线的数量进行相应操作:(a)若剩余骨架线数量大于5,将每相邻的五个骨架线为一组,计算五个骨架线的
终点间的距离之和,距离之和最小的五个骨架线保留,其余的排除,同时排除该骨架线相对应的标记区域;(b)若剩余骨架线数量大于等于3且小于等于5,则直接进入步骤s5.3;(c)若剩余骨架线数量小于3,停止检测,重新采集手掌图像,返回步骤s1;s5.3.计算两两相邻的两个骨架线的起始点与起始点、终点与终点的相对距离,若起始点与起始点的相对距离小于终点与终点的相对距离,或者依据区域标记比较两个相邻区域的平均宽度差,所述平均宽度差大于宽度阈值,则剔除相应的骨架线,同时排除该骨架线相对应的标记区域;若计算所得的值均不超过相应的阈值,则表明骨架线为手指的骨架线;优选地,所述的步骤s6中去除二值图中的复杂背景的具体步骤为:s6.1.以步骤s5中保留的标记区域作为掩膜,去除二值图中手指四周的干扰背景;s6.2.计算骨架线起始点和终点的列坐标最大值maxcol和最小值mincol,将二值图中对应的每行白色区域左边界点的列坐标小于mincol-15或右边界点的列坐标大于maxcol 15的区域的像素点的像素值置为0;s6.3.选取保留的骨架线的最大长度作为检测手掌宽度,以所有骨架线终点的最小行坐标为起始行,在二值图上向下保留检测手掌宽度的1.5倍以内的区域,排除其它区域;s6.4.若上述步骤保留的区域的宽度大于检测手掌宽度的0.8倍且小于检测手掌宽度的1.5倍,则保留该区域,反之去除该区域。
12.本发明还涉及一种复杂背景下的手掌检测系统,其包括:二值化模块,用于对含有复杂背景的原始手掌图像进行二值化分割,得到二值图;手掌宽度计算模块,用于基于二值图计算手掌宽度;类似手指骨架线获取模块,用于遍历二值图,计算每一行中白色区域的左边界点和右边界点的间距,与手掌宽度进行比较,寻找类似手指区域,计算类似手指区域的左、右边界点坐标的平均值,将坐标平均值所在位置像素点的像素值赋值为1,得到类似手指区域的骨架线;类似手指区域骨架线特征提取模块,用于构建4*n的数组,n为原始手掌图像的列数,基于该数组检测所有类似手指区域的骨架线,得到每根类似手指区域的骨架线的起始点、终点、长度和标记区域,统计类似手指区域的骨架线的数量;类似手指区域骨架线判定模块,用于基于类似手指区域的骨架线的起始点、终点、长度及标记区域区分类似手指区域的骨架线中的手指区域骨架线和非手指区域骨架线,剔除非手指区域骨架线;复杂背景去除模块,用于基于手指区域骨架线,去除二值图中的复杂背景。
13.与现有技术相比,采用本发明涉及的技术方案存在以下有益效果:1.本发明涉及的复杂背景下的手掌检测方法通过计算类似手指区域的左、右边界点坐标的平均值,得到类似手指区域的骨架线,并区分手指区域骨架线和非手指区域骨架线,剔除非手指区域骨架线,最后基于手指区域骨架线,去除二值图中的复杂背景,本发明摒弃了传统的基于连通区域面积进行剔除背景区域的方式,最终得到的手掌区域更加准确,不容易受区域较大的复杂背景影响。
14.2.本发明涉及的复杂背景下的手掌检测方法通过构建数组的方式检测所有类似手指区域的骨架线,得到每根类似手指区域的骨架线的起始点、终点、长度和标记区域,统计类似手指区域的骨架线的数量,将手指骨架线信息转换到数组信息,计算速度较快,提高运行效率。
附图说明
15.图1是本发明涉及的复杂背景下的手掌检测方法的流程图;图2是原始手掌图像进行二值化分割后得到的二值图;图3是类似手指区域的骨架线的二值图;图4是最终获得的剔除背景的手掌二值图;图5是复杂背景下的手掌检测系统的结构框图。
具体实施方式
16.下面对本发明进行详细说明,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
17.实施例1参照附图1所示,本发明涉及的复杂背景下的手掌检测方法包括以下步骤:s1.对含有复杂背景的原始手掌图像进行二值化分割,得到如图2所示的二值图,其中,原始手掌图像可以是在近红外光照下采集的用户的原始掌静脉图像,也可以在普通光照下采集的用户的原始掌纹图像;s2.基于二值图计算手掌宽度,具体方式为:求取二值图中所有的白色像素点的总数,用白色像素点的总数除以存在白色像素点的总行数,作为手掌宽度w。
18.s3.采用的是从上到下、从左到右的顺序遍历二值图,计算每一行中白色区域的左边界点和右边界点的间距,与手掌宽度进行比较,寻找类似手指区域,类似手指区域的判定依据为:当左边界点和右边界点的间距小于手掌宽度的1/4时,判定该白色区域为类似手指区域,否则,认为该区域为非手指区域;然后,计算类似手指区域的左、右边界点坐标的平均值,将坐标平均值所在位置像素点的像素值赋值为1,得到类似手指区域的骨架线;重复上述步骤,知道当检测到某一行中所有的白色区域的宽度均大于手掌宽度的4/5,结束遍历,得到如图3所示的类似手指区域的骨架线的二值图。
19.s4.构建4*n的数组,n为原始手掌图像的列数,基于该数组检测所有类似手指区域的骨架线,得到每根类似手指区域的骨架线的起始点、终点、长度和标记区域,统计类似手指区域的骨架线的数量,进而完成手指类骨架信息检测及区域标记,其具体步骤为:s4.1.创建4*n的数组a,数组的每位的初始值均为0,其中,第一行代表骨架线的长度,第二行代表骨架线起始点的行坐标,第三行代表骨架线起始点的列坐标,第四行代表骨架线终点的行坐标;s4.2.遍历找到步骤3检测到的骨架线上的某个骨架点(i,j),判断该骨架点是否为骨架线的起始点,若是,将该骨架点的行坐标i赋值给a(2,j),将该骨架点的列坐标j赋值
给a(3,j),若不是起始点,则将a(2,j)、a(2,j-1)和a(2,j 1)相加求和结果赋值给a(2,j),将a(3,j)、a(3,j-1)和a(3,j 1)相加求和结果赋值给a(3,j);上述的判断骨架点是否为骨架线的起始点的判断方法为:判断数组a(1,j)、数组a(1,j-1)、数组a(1,j 1)是否均为0,若是,则该骨架点为骨架线的起始点,反之该骨架点不是骨架线的起始点;s4.3.将a(1,j)、a(1,j-1)和a(1,j 1)相加再加1并赋值给a(1,j),得到骨架线的长度,将骨架点的行坐标i赋值给a(4,j),得到骨架线的终点,同时,将数组a第j-1列和j 1列数值置0;s4.4.将骨架点对应的二值图上所在行的白色区域数值置为对应骨架线起始点的列坐标a(3,j),获得标记区域;s4.5.重复步骤s4.2-s4.4直至检测完成所有的骨架线,获得每条骨架线的起始点、终点、长度和标记区域;所述的步骤s4.2和s4.3中,i为某骨架点的行坐标,j为骨架点的列坐标,1、2、3、4分别为数组a的行数标引。
20.s5.基于类似手指区域的骨架线的起始点、终点、长度及标记区域区分类似手指区域的骨架线中的手指区域骨架线和非手指区域骨架线,剔除非手指区域骨架线,其具体步骤为:s5.1.找出长度最大的骨架线,该骨架线的长度为l
max
,将长度小于1/10l
max
的骨架线当做非手指骨架线进行排除,同时排除该骨架线相对应的标记区域;s5.2.确认剩余骨架线的数量,并依据剩余骨架线的数量进行相应操作:(a)若剩余骨架线数量大于5,若大于5则可能存在背景,将每相邻的五个骨架线为一组,计算五个骨架线的终点间的距离之和,距离之和最小的五个骨架线保留,其余的排除,同时排除该骨架线相对应的标记区域;(b)若剩余骨架线数量大于等于3且小于等于5,则直接进入步骤s5.3;(c)若剩余骨架线数量小于3,则表明手掌放置的过于偏离中心(或者非手指),可用性不大,停止检测,重新采集手掌图像,返回步骤s1;s5.3. 因为手指不会出现交叉和非正常的弯曲,手指指尖与指尖的距离大于等于指末与指末的距离,指尖会处于指末上方且五根手指的宽度相差不大,因此该步骤计算两两相邻的两个骨架线的起始点与起始点、终点与终点的相对距离,若起始点与起始点的相对距离小于终点与终点的相对距离,或者依据区域标记比较两个相邻区域的平均宽度差,所述平均宽度差大于宽度阈值,则剔除相应的骨架线,同时排除该骨架线相对应的标记区域,其中宽度阈值可以根据采集的手掌图像质量进行跑批动态确定;若计算所得的值均不超过相应的阈值,则表明骨架线为手指的骨架线。
21.s6.基于手指区域骨架线,去除二值图中的复杂背景,其具体步骤为:s6.1.以步骤s5中保留的标记区域作为掩膜,去除二值图中手指四周的干扰背景;s6.2.计算骨架线起始点和终点的列坐标最大值maxcol和最小值mincol,将二值图中对应的每行白色区域左边界点的列坐标小于mincol-15或右边界点的列坐标大于maxcol 15的区域的像素点的像素值置为0;s6.3.选取保留的骨架线的最大长度作为检测手掌宽度,以所有骨架线终点的最
小行坐标为起始行,在二值图上向下保留检测手掌宽度的1.5倍以内的区域,排除其它区域;s6.4.若上述步骤保留的区域的宽度大于检测手掌宽度的0.8倍且小于检测手掌宽度的1.5倍,则保留该区域,反之去除该区域,获得如图4所示的手掌二值图。
22.实施例2参照附图5所示,本发明还涉及一种复杂背景下的手掌检测系统,其包括:二值化模块,用于对含有复杂背景的原始手掌图像进行二值化分割,得到二值图;二值化模块用于实现实施例1步骤s1的功能。
23.手掌宽度计算模块,用于基于二值图计算手掌宽度;手掌宽度计算模块用于实现实施例1步骤s2的功能。
24.类似手指骨架线获取模块,用于遍历二值图,计算每一行中白色区域的左边界点和右边界点的间距,与手掌宽度进行比较,寻找类似手指区域,计算类似手指区域的左、右边界点坐标的平均值,将坐标平均值所在位置像素点的像素值赋值为1,得到类似手指区域的骨架线;类似手指骨架线获取模块用于实现实施例1步骤s3的功能。
25.类似手指区域骨架线特征提取模块,用于构建4*n的数组,n为原始手掌图像的列数,基于该数组检测所有类似手指区域的骨架线,得到每根类似手指区域的骨架线的起始点、终点、长度和标记区域,统计类似手指区域的骨架线的数量;类似手指区域骨架线特征提取模块用于实现实施例1步骤s4的功能。
26.类似手指区域骨架线判定模块,用于基于类似手指区域的骨架线的起始点、终点、长度及标记区域区分类似手指区域的骨架线中的手指区域骨架线和非手指区域骨架线,剔除非手指区域骨架线;类似手指区域骨架线判定模块用于实现实施例1步骤s5的功能。
27.复杂背景去除模块,用于基于手指区域骨架线,去除二值图中的复杂背景;复杂背景去除模块用于实现实施例1步骤s6的功能。
28.以上结合实施例对本发明进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍属于本发明的专利涵盖范围之内。
再多了解一些

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

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

相关文献