一种确定手掌图像中心区域的方法与流程

文档序号:29158758发布日期:2022-03-08 22:46阅读:109来源:国知局
一种确定手掌图像中心区域的方法与流程

1.本发明属于计算机视觉技术领域,具体涉及一种确定手掌图像中心区域的方法。


背景技术:

2.手掌图像中心区域的确定是掌纹和掌静脉图像识别的首要步骤,其决定了后续掌纹和掌静脉特征的具体数值,对识别准确率有重要影响。现有的手掌定位算法大多采用harris角点来提取手指关键点,进而根据经验值选取手掌中心区域,其存在鲁棒性较差、受光照影响较大的问题,定位鲁棒性和准确率有待改进和提高。
3.以下现有技术文献与本发明相关:
4.[1]陈典典等,基于harris角点检测和聚类算法的手掌图像roi提取方法.光学仪器,2018,40卷5期:27-34.
[0005]
[2]匡智奇等,手掌角点检测及掌纹区域确定的新方法.计算机与现代化,2012,总第205期2012年第9期:123-126.
[0006]
[3]尚丽等,一种新的掌纹roi图像定位方法.激光与红外,2012,42卷7期:815-820.
[0007]
[4]koichi ito et al.“palm region extraction for contactless palmprint recognition”,international conference on biometrics,2015:334-340.
[0008]
[5]amira oueslati et al,“an efficient palm vein region of interest extraction method”,international conference on advanced technologies for signal and image processing,2020:ivp-54.
[0009]
文献[1]中提出的roi提取方法采用harris方法检测角点,会产生冗余的角点,导致手指凹点的检测鲁棒性较差,并且没有采用到近红外传感器生成的图像,手掌图像阈值化需要人工设定阈值,二值化手掌区域效果较差。
[0010]
文献[2]中提出利用手指间凹点计算三角形外接圆的方式求取手掌中心区域,缺点是手指凹点的检测精度对后续圆形手掌区域的影响较大,并且文中采用的是harris方法检测手指凹点,结果受光照和手掌姿态影响严重。
[0011]
文献[3]中手掌中心的方形区域高度和宽度都是手动设定的,对于不同的手掌中心区域一致性较差。
[0012]
文献[4]中采用固定方向差分的方式计算手指间关键点,其没有采用到近红外传感器,所以得到的手掌二值化区域效果较差,并且该方法对手掌朝向敏感。
[0013]
文献[5]中提出的手掌区域确定方法需要选取控制点分三种情况来确定手指间凹点,复杂度较高,并且手掌中心方形区域的宽度和高度需要人工选取,存在改进空间。
[0014]
综上所述,现有技术中的手掌中心区域确定方法的鲁棒性和准确率均待提高。


技术实现要素:

[0015]
为了克服现有技术的不足,本发明提出了一种新的手掌中心区域确定方法。
[0016]
一种确定手掌图像中心区域的方法,包括以下步骤:
[0017]
(1)对分别采集的自然光光源、自然光-近红外光组合光源下的手掌图像作差,后预处理,得二值化手掌图像;
[0018]
(2)求取二值化手掌图像的边缘点,并提取角点,采用聚类法确定二值化手掌图像中的四个指根凹点;
[0019]
(3)对上述四个指根凹点进行定位,并以定位后的指根凹点为关键点,求取手掌区域的中心线和中心点;
[0020]
(4)旋转二值化手掌图像使中心线水平,根据旋转后图像中关键点及中心点坐标确定所述手掌图像中心区域。
[0021]
上述步骤(1)中,首先开启自然光光源采集一张手掌图像,然后同时开启自然光光源和近红外光光源采集一张手掌图像,用后者减去前者得到差值图像。值得注意的是,不同光源下采集的手掌图像为手掌处于同一姿态下的图像。
[0022]
由于手掌距离镜头较近,且背景的近红外光+自然光所采集的图像与只使用自然光采集的图像之间的差别较小,所以用自然光+近红外光采集的图像减去自然光采集的图像可以更加鲁棒、准确地得到手掌区域的二值化图像。
[0023]
采用该技术方案,避免了直接采用自然光图像进行二值化涉及到阈值的选取过程,对于不同的光照条件,需要设置不同的阈值,否则会导致所提取的二值化手掌图像不准确(即过分割或欠分割)的问题。
[0024]
步骤(3)中求取手掌区域中心点也可以在步骤(4)中旋转二值化图像之后进行。
[0025]
作为优选,步骤(1)中,所述预处理包括以下步骤:
[0026]
对作差后得到的差值图像进行阈值化处理,保留其中面积最大的连通域并对最大的连通域中的空洞进行填充,得到二值化手掌图像。作为进一步优选,所述阈值化处理包括以下步骤:
[0027]
对于差值图像中的所有像素点,将其与一设定阈值作比较,若像素值大于或等于该阈值,则置该像素点的值为1,若像素值小于该阈值,则置该像素点的值为0。
[0028]
作为更进一步优选,步骤(2)中,求取二值化手掌图像的边缘点,并提取角点包括以下步骤:
[0029]
选取二值化手掌图像中任一值为1的像素点为当前像素点,对于当前像素点,若其8个相邻像素点中存在值为0的像素点,则当前像素点为边缘点;反之,则当前像素点不是边缘点;
[0030]
以二值化手掌图像上每个边缘点为中心,若该边缘点设定半径邻域内值为1的像素点个数占该邻域内所有像素点个数的比例大于设定阈值,则该边缘点为角点;反之,则该边缘点不是角点。
[0031]
作为优选,步骤(2)中,采用聚类法确定四个指根凹点,包括以下步骤:
[0032]
将所有角点存入主集合中,选取任一角点,将该角点以及与该角点距离小于设定阈值的角点存入子集合中,并将该子集合中的所有角点从主集合中删除;
[0033]
重复上述步骤,直至主集合为空,得到多个子集合,保留子集合中角点个数排列前四的四个子集合;计算每个子集合中所有角点的均值,得到每个子集合的类中心,即四个指根凹点。
[0034]
上述重复上述步骤具体为:继续从主集合中选取第二个角点,将该第二个角点以及与其距离小于设定阈值的角点存入第二个子集合中,并将第二个子集合中的所有角点从主集合中删除;如此重复操作,直至主集合为空,得到多个子集合。
[0035]
保留子集合中角点个数排列前四的四个子集合应理解为将所有子集合按照角点个数从多到少进行排序,保留排列前四的四个子集合,并进行后续操作。
[0036]
作为优选,步骤(3)中,通过以下步骤对得到的四个指根凹点进行定位:
[0037]
分别计算每个指根凹点与其它三个指根凹点之间的距离之和,其中与其它三个指根凹点之间的距离之和最大的指根凹点为大拇指-食指凹点;对于其它三个指根凹点,按照与大拇指-食指凹点的欧式距离从小到大依次为食指-中指凹点、中指-无名指凹点和无名指-小指凹点。
[0038]
作为进一步优选,步骤(3)中,以判定后的指根凹点为关键点,求取手掌区域的中心线和中心点的具体操作如下:
[0039]
以食指-中指凹点、中指-无名指凹点和无名指-小指凹点为关键点,作经过中指-无名指凹点并垂直于食指-中指凹点与无名指-小指凹点连线的直线,得到手掌区域的中心线;
[0040]
取中心线与二值化手掌图像相交的线段,该线段的中点即为手掌区域的中心点,且该线段上的像素值均为1。
[0041]
为扩大手掌图像中心区域面积,使后续提取的手掌特征更加丰富,提高对手掌的识别准确率,可选择地,步骤(3)中,求取手掌区域的中心线和中心点之前,对关键点食指-中指凹点和无名指-小指凹点做如下调整:
[0042]
连接食指-中指凹点和中指-无名指凹点得到一线段,将该线段向食指方向延伸设定长度,将该线段延伸方向的端点作为代替食指-中指凹点的关键点;其中设定长度为食指-中指凹点和中指-无名指凹点连接线段长度的0.05~0.5倍;
[0043]
连接中指-无名指凹点和无名指-小指凹点得到一线段,将该线段向小指方向延伸设定长度,将该线段延伸方向的端点作为无名指-小指凹点的关键点;其中设定长度为中指-无名指凹点和无名指-小指凹点连接线段长度的0.05~0.5倍。
[0044]
作为进一步优选,食指-中指凹点和中指-无名指凹点连接线段的延伸长度为该线段长度的0.2倍;
[0045]
长度为中指-无名指凹点和无名指-小指凹点连接线段的延伸长度为该线段长度的0.2倍。
[0046]
作为进一步优选,步骤(4)按照以下操作进行:
[0047]
旋转二值化手掌图像使中心线水平,计算食指-中指凹点和无名指-小指凹点中任一点与中心点在旋转后图像中的坐标,分别计算中心点与食指-中指凹点或无名指-小指凹点之间的行数和列数之差,以行数之差的2倍为高,列数之差的2倍为宽,作以中心点为中心,宽呈水平的矩形,即得二值化手掌图像的中心区域。
[0048]
将二值化手掌图像进行旋转时,先计算中心线与水平线之间的夹角。食指-中指凹点、无名指-小指凹点和中心点均为二维坐标,坐标中的第一个元素表示该坐标的行号,第二个元素表示该坐标的列号,则手掌区域中心线与水平线之间的夹角θ的计算公式为:
[0049][0050]
其中,p3(1)表示食指-中指凹点或无名指-小指凹点的行号,p3(2)表示食指-中指凹点或无名指-小指凹点的列号,p_c(1)表示中心点的行号,p_c(2)表示中心点的列号。
[0051]
采用如下方式计算食指-中指凹点、无名指-小指凹点和中心点在旋转后图像中的坐标:
[0052]
二值化手掌图像未旋转前的任一点p,该点p其实为一个二维坐标,第一个元素代表点p的行号,第二个元素代表点p的列号;
[0053]
根据下式计算旋转矩阵:
[0054][0055]
计算整幅二值化手掌图像的中心坐标,记为i_c;
[0056]
根据下式计算点p旋转后的坐标p


[0057][0058]
作为更进一步优选,完成二值化手掌图像中心区域确定后,将自然光-近红外光组合光源手掌图像与二值化手掌图像旋转相同角度,在旋转后的自然光-近红外光组合光源手掌图像中与二值化手掌图像中心区域对应位置截取相应大小的矩形图像,即得自然光-近红外光组合光源手掌图像的手掌图像中心区域。
[0059]
作为具体优选,一种确定手掌图像中心区域的方法,包括以下步骤:
[0060]
a1.采用可见光(自然光)光源采集一张手掌图像,记作a;
[0061]
a2.手掌不动,同时开启可见光光源和近红外光光源,再采集一张手掌图像,记作b;
[0062]
a3.用图像b减去图像a,记其结果为图像c(差值图像);
[0063]
a4.对图像c进行阈值化,得到二值化手掌区域图像d;
[0064]
a5.保留图像d中面积最大的连通域,然后填充其中的空洞,得到二值化手掌图像e;
[0065]
a6.计算图像e中连通域的边缘点,记所有边缘点组成的图像为图像f;
[0066]
a7.从所有边缘点中提取角点,得到图像f上所有角点的集合,记该角点的集合为s;
[0067]
a8.选取距离阈值t1,根据t1对集合s中所有角点进行聚类,只保留类中角点个数最多(排列前四)的四个类;
[0068]
a9.计算这四个类中每一个类的类中心;
[0069]
a10.在这四个类中心中,寻找距离其它三个类中心距离之和最大的类中心,记该类中心为p1(大拇指-食指凹点);
[0070]
a11.依次寻找距离p1最近的其它三个类的类中心,依次记为p2(食指-中指凹点),p3(中指-无名指凹点),p4(无名指-小指凹点);
[0071]
a12.计算经过p3并垂直于p2和p4连线的直线,记为l(手掌区域的中心线);
[0072]
a13.在图像e上计算直线l上值为1的像素的中点,记为p_c(手掌区域的中心点);
[0073]
a14.计算中心线与水平线的夹角
[0074]
a15.将图像e逆时针旋转θ度,记旋转后的图像为e’;
[0075]
a16.将p2,p4,p_c在图像e’中的像素点为p2’,p4’,p_c’;
[0076]
a17.计算p2’和p4’中任一点与p_c’之间行数和列数差值的绝对值,分别记为height,width;
[0077]
a18.以p_c’为中心,以2*height和2*width为矩形的高度和宽度在图像e’上选取矩形区域,记作roi(感兴趣区域);
[0078]
a19.将图像b同样逆时针旋转θ度,在旋转后的图像b上截取roi对应的子图,即手掌图像中心区域,并输出。
[0079]
作为优选,通过如下方式对图像c进行阈值化:
[0080]
选取阈值t2,对图像c中的所有像素点,若一像素点的像素值大于或等于t2,则d中对应该像素点的位置处值为1;若该像素值小于t2,则d中对应该像素点的位置处值为0。
[0081]
作为优选,通过如下方式得到二值化手掌图像e:
[0082]
对于图像d中任一值为1的像素点,如果其周围8个相邻像素点中的某个像素点的值为1,则定义该相邻像素点与该任一像素点是相连通的,所有相互连通的像素组成一个连通域。对于图像d中的所有连通域,采用不同的数字标记不同连通域中的像素点。然后统计各个连通域中像素点的个数,将像素点个数最多的连通域中所有像素点的值标记为1,而其它所有像素点的值标记为0,其结果即为二值化手掌图像e。
[0083]
作为优选,通过如下方式计算图像e中连通域的边缘点:
[0084]
遍历图像e中的所有像素点,如果一像素点的值为1并且其8邻域像素点中存在像素值为0的像素点,则定义该值为1的像素点为边缘点,置图像f中该像素点位置处像素值为1;否则置图像f中该像素点位置处像素值为0。
[0085]
作为优选,通过如下方式从所有边缘点中提取角点,得到图像f上所有角点的集合:
[0086]
定义空集合s;
[0087]
对于图像f中值为1的像素点(边缘点),以该像素点为中心,取半径为r的圆形模板,即距离该像素点的距离小于r的整数像素点位置处模板值为1,大于r的整数像素点位置处模板像素值为0;
[0088]
统计该圆形模板中值为1的像素点个数,记为m;
[0089]
统计图像e在该圆形模板中值为1的像素点个数,m’;
[0090]
设置以比例阈值t3(0到1之间),如果m’/m》t3,则该像素点(边缘点)为角点,将其加入到角点的集合s中,否则为非角点。
[0091]
作为优选,通过如下步骤对角点集合s中所有角点进行聚类:
[0092]
首先建立一空集合s1,假设s中的第一个角点为a,将a放入s1中,并从s中删除a;
[0093]
对集合s中剩余的每个角点,计算该角点与a之间的欧氏距离,如果该距离小于阈值t1,则将该角点也加入到s1中,并从s中删除该角点;
[0094]
重复上面两个步骤,直至集合s为空为止;
[0095]
假设最后得到n个集合,分为记作s1,s2,

,sn,这n个集合也即将角点进行聚类得到的n个子集合,即n个类。
[0096]
作为优选,通过如下方法计算四个类中每一类的类中心:
[0097]
对每一类集合中的角点,求所有角点的均值,该均值即为该类的类中心。
[0098]
与现有技术相比,本发明的有益效果为:
[0099]
本发明的确定手掌图像中心区域的方法,采用自然光-近红外光组合光源手掌图像与自然光光源手掌图像的差值图像进行阈值化处理,结合得到的角点采用聚类法获得五根手指之间的四个指根凹点,再对四个指根凹点进行定位,根据定位结果得到手掌区域中心线和中心点,最终根据指根凹点和手掌区域中心点对手掌图像中心区域进行确定。本发明的确定方法得到的矩形中心区域是通过手掌大小自适应计算出来的,具有较强的自适应性和鲁棒性,确定结果准确率高。
附图说明
[0100]
图1为本发明实施例所提出的一种确定手掌图像中心区域的方法的流程示意图;
[0101]
图2为本发明实施例中同时采用自然光和近红外光采集的手掌图像示意图;
[0102]
图3为本发明实施例中经阈值化处理后的差值图像示意图;
[0103]
图4为本发明实施例中二值化手掌图像示意图;
[0104]
图5为本发明实施例中的二值化手掌图像边缘图像示意图;
[0105]
图6为本发明实施例中保留的四个子集合中的角点分布示意图;
[0106]
图7为本发明实施例中计算得到的指根凹点示意图;
[0107]
图8为本发明实施例中食指-中指凹点和无名指-小指凹点经过调整后的指根凹点(分别对应食指点和小指点)示意图,二者调整后的位置相比在图7中的位置发生了改变;
[0108]
图9为本发明实施例求得的手掌区域中心线示意图;
[0109]
图10为本发明实施例计算的食指点、小指点以及手掌区域中心点示意图;
[0110]
图11为本发明实施例中二值化手掌图像的中心区域的确定位置,如图中长方形所框出的区域所示;
[0111]
图12为本发明实施例中截取的自然光-近红外光组合光源手掌图像的手掌中心区域图像。
具体实施方式
[0112]
下面结合本发明实施例以及说明书附图对本发明的技术方案进行清楚、完整的描述,以下所描述的实施例仅仅是本发明一部分,其它基于本发明中的实施例、在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围;
[0113]
如图1所示,一种确定手掌图像中心区域的方法,包括以下步骤:
[0114]
(1)分别采集自然光光源、自然光-近红外光光源下的手掌图像,将二者作差,后阈值化处理,得到二值化手掌图像。
[0115]
采集自然光-近红外光组合光源下的手掌图像,如图2所示;在只开启自然光源的情况下在拍摄一张自然光手掌图像,手掌的采集状态与自然光-近红外光组合光源下的采
集状态一致。
[0116]
然后采用图2中的手掌图像减去上述自然光手掌图像(像素值相减),得到一张差值图像;
[0117]
根据差值图像上背景区域的像素值,选取一阈值,将差值图像二值化,使得差值图像上背景区域的像素值为0,而手掌区域部分的像素值为1,该二值图像结果如图3所示;
[0118]
对图3中的二值化图像首先寻找其中面积最大的连通域,然后将其它连通域中的像素值全置为0,只保留该面积最大的连通域;
[0119]
对保留的最大连通域中的空洞进行填充,得到如图4所示的二值化手掌图像。
[0120]
(2)求取二值化图像的边缘点,并提取角点,采用聚类法确定二值化手掌图像中的四个指根凹点。对图4中的二值化手掌图像求取边缘点,具体做法就是判断每一个二值化手掌图像中的像素点,其8邻域像素点中是否存在值为0的像素点,若存在则该像素点为边缘点,所有边缘点组成的图像如图5所示;
[0121]
对图5中的每一个边缘点,以该边缘点为中心选取一圆形模板区域,计算该圆形模板区域内的边缘点的个数,以及图4中该圆形模板区域中像素值为1的个数,用得到的边缘点的个数除以像素点的个数,得到一个比值,判断该比值是否大于设定阈值,若大于该设定阈值,则该边缘点为角点;
[0122]
将得到的所有角点存入主集合中,设置一距离阈值,任取一个角点,将该角点以及主集合中所有与该角点的距离小于该阈值的角点划分在同一子集合中,并将该子集合中所有角点从主集合中删除;如此循环,直至主集合为空,得到多个子集合。保留子集合中像素点个数排列前四的四个子集合;该四个子集合中角点在图4中的位置分布,如图6所示。
[0123]
计算所保留的四个子集合中每个子集合中所有角点的均值,所得结果如图7中三角点所示,图7中这四个三角点即为五个手指之间的四个指根凹点;
[0124]
(3)对上述四个指根凹点进行定位,并以定位后的指根凹点为关键点,求取手掌区域中心线;
[0125]
对于图7中找到的四个指根凹点,分别计算每个指根凹点距离其它三个指根凹点的距离之和。距离其它三个指根凹点的距离之和最大的指根凹点为大拇指与食指之间的凹点;然后再分别计算其它三个指根凹点与大拇指与食指之间的凹点的欧式距离,其中,与大拇指与食指之间的凹点的欧式距离最近的指根凹点为食指与中指之间的凹点,其次为中指与无名指之间的凹点,欧式距离最远的指根凹点为无名指与小指之间的凹点。
[0126]
为扩大手掌图像中心区域面积,使后续提取的手掌特征更加丰富,提高对手掌的识别准确率,对上述定位后的指根凹点进行调整:
[0127]
对于食指与中指之间的凹点,连接其与中指和无名指之间的凹点得到一个线段,沿着该线段向食指方向再扩展设定长度(该线段长度的0.2倍),该线段延伸方向的端点如图8中左上角的三角形所在的点所示,得到代替食指与中指之间的凹点的食指点;
[0128]
对于无名指与小指之间的凹点,连接其与中指和无名指之间的凹点得到另一线段,沿着该线段向小指方向再扩展设定长度(该线段长度的0.2倍),该线段延伸方向的端点如图8中左下角的三角形所在的点所示,得到代替无名指与小指之间的凹点的小指点;
[0129]
以食指点、中指和无名指之间的凹点和小指点为关键点求取手掌区域的中心线,具体步骤为:
[0130]
连接图8中左上角的点(食指点)和左下角的点(小指点)得到一线段,绘制垂直于该线段并且经过中指和无名指之间的凹点的直线,如图9中的直线所示,该直线即为手掌区域中心线;
[0131]
(4)旋转二值化手掌图像使手掌区域中心线水平,计算手掌区域的中心点;根据旋转后图像中食指点坐标及手掌区域中心点坐标确定所述手掌图像中心区域。
[0132]
旋转二值化手掌区域图像,使得手掌区域中心线处于水平位置,将由近红外光和自然光组合光源照射的手掌图像旋转同样的角度,然后寻找手掌区域中心线与手掌区域相交的线段,即直线上像素值全为1的线段;
[0133]
寻找该线段的中点位置,该中点位置即为所选定的手掌区域的中心点,如图10中的方块标示所在的点所示。
[0134]
计算图8中的食指点与手掌区域中心点之间的行数之差和列数之差,分别记为height和width;
[0135]
以手掌区域中心点为中心,以2*height和2*width为子图的高度和宽度在旋转后的二值化手掌图像上截取矩形子图,如图11中的矩形区域所示;
[0136]
在旋转后的自然光-红外光组合光源手掌图像中,截取图11中的矩形子图在该手掌图像中对应位置处的子图,如图12所示,此即为本文方法所确定的手掌图像中心区域。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1