1.一种基于动态规划和多目标优化的实时滚动指纹拼接方法,其特征在于,所述方法包括以下步骤:
1)滚动指纹的检测,过程如下:
1.1)首先,利用初始状态下采集仪未放手指的采集界面作为背景帧I0,从检测出第一张指纹图像开始直至指纹消失,指纹采集仪能得到一系列指纹的灰度图像,该图像序列可用帧序列集合I={I1,I2,...,In}表示,其中Ii表示第i帧图像;
1.2)定义Ii(x,y)表示第i帧源图像中坐标为(x,y)的像素点灰度值,统计第i帧图像前景点数FGi,按照以下公式:FGi=|{(x,y)||Ii(x,y)-I0(x,y)|>T1}|
其中,|{·}|表示集合中像素点的个数,T1是阈值;
1.3)图像的前景点数能有效地判断指纹是否出现,若第i帧图像的前景点数FGi大于设定阈值T2则认为该图像是指纹图像,反之则不是指纹图像;
2)图像块分割,过程如下:
2.1)将高为H、宽为W的指纹图像以矩形块形式分割,将其分割成若干个相同块,分割所得块的高为h、宽为w,若以W′表示宽度方向上切割块数的数量,H'表示高度方向上切割块数的数量,那么分割出来的块数为W'×H',图像块分割表达式如下:
2.2)对源图像序列进行图像分割,I′i表示图像分割后的第i帧图像,定义I′i(a,b)表示第i帧源图像分割后中第a行第b个图像块的灰度和,其值等于图像块内所有像素点的灰度值总和,如下:L(a,b)={(x,y)|(a-1)×h+1≤x≤a×h,(b-1)×w+1≤y≤b×w}a∈[1,H′],b∈[1,W′]
其中,L(a,b)表示像素点坐标集合,其像素点均在分割后的图像I′i第a行第b个图像块内;
3)指纹中心区域定位,过程如下:
3.1)利用区域灰度和二分法对I′i中的搜索区域分为左右半区,不断往图像中灰度和最小的区域深入,直至区域范围缩小到一列图像块,最终找到真正坐落于指纹图像内的中心区域;
3.2)为了加快搜索速度,利用积分图思想快速计算图像区域灰度和,在积分图里,每一点的灰度值都是其位置所在图像中左上方区域的灰度值和,表达如下:其中,SAT(Xi,Yi)表示I′i中第Xi行第Yi个图像块利用积分图计算得到的灰度值,其等于所有位置满足处于(Xi,Yi)左上方的图像块的灰度值求和;
3.3)根据上述思想,初始状态时整张图像经图像分割后被默认为待搜索的区域,现定义四个参数:l是待搜索区域最左边的列序号,其初始值是1;r是待搜索区域最右边的列序号,其初始值是W′;m是待搜索区域最中间的列序号,其为 表示向上取整符号;d是待搜索区域的宽度,其为d=|r-l+1|;
3.4)将待搜索区域左半区域所有像素点灰度值和定义为Gl,右半区域所有像素点灰度值和定义为Gr,上述两个参量计算公式如下:Gl=SAT(H',m)-SAT(H',l)
3.5)如果Gl≥Gr,那么选择右半区域为下一步需要搜索的区域,否则选择左半区域,在确定待搜索区域之后,l、r、m、d四个参数需要重新定义,Gl、Gr需要重新计算,直到d的值为1时终止,最终得到指纹中心的一列,即指纹中心区域,若指纹图像为第i帧,则记该帧图像的指纹中心区域的列序号为CR(i),假设当前帧Ik的中心列序号为CR(k),中心列中每一个指纹块都被定义为基准块,第i行基准块的位置是(i,CR(k)),每一行指纹图像块序列都是以基准块为中心;假定图像采集时指纹滚动方向从左往右,则定义:(1,2,...,CR(k)-1)为已拼接完成区域,(CR(k)+1,CR(k)+2,...,W′)为未拼接完成区域;
4)实时滚动指纹拼接,过程如下:
4.1)帧序号更新,从指纹出现开始为第1帧图像,假设当前帧是Ik,则前k-1帧的拼接结果为Is,实时拼接就是将Ik与Is拼接成新的指纹图像,图像中的每一块都会被标记其来源图像的帧序号;每一个图像都可以被转化为一个尺寸为W'×H'的帧序号矩阵,矩阵中每一个元素都对应着当前位置图像块的帧序号,设Ji(a,b)表示块分割后的图像I′i中第a行第b个图像块的帧序号;拼接过程可视为块的帧序号更新,原则是选择同时满足灰度值较小并且前景点数多的块,否则不更新块的帧序号,条件表达式如下:if(I′k(a,b)<I′s(a,b)∧FG′k(a,b)>FG′s(a,b))then Js(a,b)=k其中,FG′k(a,b)、FG′s(a,b)分别表示I′k和I′s第a行第b个图像块的前景点数,Js(a,b)表示I′s第a行第b个图像块的帧序号;
4.2)兵分两路同步更新,从第一行开始按行拼接,每一行的拼接策略都是一致的,都是从当前行的基准块开始拼接;从某一行基准块开始往左遍历已拼接区域的图像块进行拼接,如果当前帧Ik的图像块与Is中同一位置的图像块满足帧序号更新条件,则需要将Is中该位置的图像块帧号更新为k,并继续判断当前块左侧的块,一旦出现帧序号更新条件不满足时,已拼接区域的拼接就立即停止;为了使未拼接区域的指纹图像更加完整,从当前行的基准块开始往右遍历未拼接区域的图像块进行拼接时采用如下不同的更新策略:如果满足帧序号更新条件,则将Is中该位置的图像块帧号更新为k,并继续判断当前块右侧的块,若出现帧序号更新条件不满足时则跳过该块继续向右遍历,直到遍历完当前行未拼接区域的全部块;
4.3)非降帧序列动态规划优化,根据指纹中心列的移动可以确定指纹滚动的方向,并以此来判断指纹是否发生回滚,若当前帧为Ik,那么滚动方向可以按照如下定义:其中,R(k)表示当前帧Ik的指纹滚动方向,若R(k)=0表示其从右往左滚动,R(k)=1表示其从左往右滚动,C(k-1)=C(k)表示相邻两帧的指纹中心未变化,则说明指纹滚动方向未发生改变;
根据指纹滚动方向,假定其自左往右滚动,那么可以确定每一行的所有块的帧序号必然是从左往右非降递增的,根据上述非降帧序列原则,当拼接过程满足正常滚动时,即如下条件:R(k-1)=R(k),k∈[2,N]
其中,N表示采集得到的最后一帧图像序号;
满足上述条件下,结合动态规划思想对块帧序号进行有效更新,针对所有帧序列图像拼接完成后的拼接结果If,对其图像分割后的图像I′f中每一行图像块帧序列进行更新,其帧序列状态转移方程如下式:Jf(a,b+1)=max(Jf(a,b),Jf(a,b+1))
其中,Jf(a,b)表示图像分割后的拼接结果I′f第a行第b个图像块的帧序号;
同理可得,从右往左滚动时的帧序列状态转移方程如下:
Jf(a,b+1)=min(Jf(a,b),Jf(a,b+1))
5)拼接缝隙检测及优化
5.1)定义两个图像块的偏离度Fa,b(i,j),其表示图像I′i与图像I′j中都位于第a行第b个图像块的偏离程度,偏离度越低表示其越接近,计算表达式如下:其中,SUM(X)表示将矩阵X中所有元素求和,Mi(a,b)、Mj(a,b)都表示大小为h×w的矩阵,它们分别表示图像I′i和图像I′j中位于第a行第b个图像块内像素点灰度值在二值化后的0-1矩阵,符号 表示异或运算符,两个矩阵中元素值相同为0,不同为1;
5.2)为了描述相邻图像块的位置关系,定义方向常量集合DIRECTION={UP,DOWN,LEFT,RIGHT},分别表示位于图像块的上下左右四个方向,定义拼接缝隙率GRa,b(i,j,RIGHT)表示图像I′f中第a行第b个图像块与其右侧图像块间的拼接缝隙程度,并且这两个图像块分别来自于第i帧和第j帧,同理可得另外三个方向上的拼接缝隙率;基于帧序列的图像拼接,其拼接缝隙必然是相邻块的帧序号不一致导致的,若相邻块的帧序号相同必然不会产生拼接缝隙,上述思想可确定如下关系表达式:其中,
5.3)假设拼接结果I′f中来源于第i帧的图像块A右邻接来源于第j帧的图像块B,而在第i帧中图像块A右邻接图像块C,可知,图像块A与图像块C无拼接缝隙,那么图像块B与图像块C的偏离程度就可以一定程度上描述图像块A与图像块B间的拼接缝隙程度;同理,图像块D在第j帧中右邻接图像块B,那么图像块A与图像块D的偏离程度也可以一定程度上描述图像块A与图像块B间的拼接缝隙程度,基于上述思想,得拼接缝隙率计算公式如下:
5.4)建立基于多目标的综合优化模型,消除图像拼接缝隙,最终拼接结果图像I′f中位于(a,b)的图像块A,其相邻的图像块分别为AUP、ADOWN、ALEFT、ARIGHT,它们的帧序号分别为J(A)、J(AUP)、J(ADOWN)、J(ALEFT)、J(ARIGHT),若将相邻三个图像块中间块A的帧序号替换,使得图像块A与相邻块的拼接缝隙率都能有所下降,就能达到优化拼接缝隙的效果;由于指纹采集过程是水平方向的,减少水平方向上的拼接缝隙能得到更好的效果,故以减少水平方向上的拼接缝隙率为第一目标函数,以减少竖直方向上的拼接缝隙率为第二目标函数;根据非降帧序列原则,更新后的块帧序号J′(A)的取值范围是[J(ALEFT),J(ARIGHT)];
综上,建立多目标的综合优化模型如下:
min Z1=GRa,b(J'(A),J(ARIGHT),RIGHT)+GRa,b(J'(A),J(ALEFT),LEFT)min Z2=GRa,b(J'(A),J(AUP),UP)+GRa,b(J'(A),J(ADOWN),DOWN)其中,Z1、Z2分别表示第一目标函数和第二目标函数。
2.如权利要求1所述的基于动态规划和多目标优化的实时滚动指纹拼接方法,其特征在于,所述方法包括以下步骤:
6)质量评估,过程如下:
6.1)指纹拼接的主要目的是获取更多有效指纹面积且尽量看不到明显的指纹缝隙,那么,指纹有效面积率E(Ii)可量化为指纹前景区域在整张图像中的占比,指纹缝隙程度GP(Ii)可用指纹图像中加权拼接缝隙率之和表示,拼接缝隙区域越靠近指纹中心区域其权重越大,公式如下:其中,GRa,b表示位于(a,b)的图像块与相邻块的拼接缝隙率之和,γ表示常数,Q(Ii)表示图像Ii的质量,α、β表示比例系数;
6.2)图像Ii的质量Q(Ii)小于设定阈值T3,需要重新拼接。