发明名称 一种基于支持向量机的指纹图像分割方法
摘要 本发明公开了一种基于支持向量机(SVM)的指纹分割方法,它首先利用梯度特征对指纹图像进行初级的粗分割,去除大部分背景区域;然后在粗分割的基础上,提取指纹前景区域的对比度、方向一致性、Gabor滤波方差偏差等特征,利用支持向量机将粗分割得到前景区域分为有效前景区域及无效前景区域。最后对分割结果进行形态学后处理。其优点是:本发明不仅能分割出高噪声的背景区域,同时能将质量很差、纹理不可恢复的模糊区域分离开来,使后续处理只需要针对有效的前景区域,为后续的指纹质量评价及指纹预处理提供有利的帮助,具有较高的分割准确性及较强的适应性。
申请公布号 CN102629318B 申请公布日期 2013.07.17
申请号 CN201210077976.X 申请日期 2012.03.22
申请人 中国电子科技集团公司第五十八研究所 发明人 孙凤梅;于宗光;王皎
分类号 G06K9/00(2006.01)I;G06K9/62(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 无锡市大为专利商标事务所 32104 代理人 殷红梅
主权项 1.一种基于支持向量机的指纹图像分割方法,其特征在于,包含以下步骤:步骤一、将指纹图像分成互不重叠的、大小为3×3的小块,作为分割的内层块,用W<sub>in</sub>(i,j)表示第i行第j列的小块;步骤二、利用图像的梯度特征,对指纹图像进行粗分割,得到粗分割图像mask,具体步骤如下:2.1、标记脊、谷的边缘像素:计算指纹图像中像素点I(x,y)沿x轴方向和y轴方向的梯度向量G<sub>x</sub>(x,y)和G<sub>y</sub>(x,y),如果|G<sub>x</sub>(x,y)|≥G<sub>Thre</sub>且|G<sub>y</sub>(x,y)|≥G<sub>Thre</sub>,则P(x,y)=1,表示该像素为脊、谷的边缘像素,否则P(x,y)=0,其中,G<sub>Thre</sub>为梯度阈值;2.2、根据边缘像素的稀疏度判断图像中的每个小块是前景块还是背景块:取一个大小为b×b、几何中心与W<sub>in</sub>(i,j)几何中心重合的图像块,作为分割的外层块,记为W<sub>out_1</sub>(i,j);统计图像块W<sub>out_1</sub>(i,j)中边缘像素的个数,作为内层块W<sub>in</sub>(i,j)中边缘像素的稀疏度<maths num="0001"><![CDATA[<math><mrow><msub><mi>N</mi><mrow><msub><mi>W</mi><mi>in</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><mi>P</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>如果<img file="FDA00002973540300012.GIF" wi="336" he="91" />则该图像块为前景块,<img file="FDA00002973540300013.GIF" wi="327" he="98" />否则该图像块为背景块,<img file="FDA00002973540300014.GIF" wi="336" he="99" />N<sub>Thre</sub>为稀疏度阈值;步骤三、对粗分割图像mask进行后处理,得到初步分割结果,具体步骤如下:3.1、对于每个前景块<img file="FDA00002973540300015.GIF" wi="304" he="99" />如果其八邻域中前景块的数目少于4,则将该前景块标记为背景块<img file="FDA00002973540300016.GIF" wi="316" he="95" />3.2、对于每个背景块<img file="FDA00002973540300017.GIF" wi="316" he="91" />如果其八邻域中前景块的数目大于等于4,则该背景块标记为前景块<img file="FDA00002973540300018.GIF" wi="316" he="93" />3.3、重复执行步骤3.2,直至没有背景块被标记为前景块;步骤四、在粗分割图像mask的基础上,如果<img file="FDA00002973540300019.GIF" wi="310" he="104" />提取它的对比度、方向一致性、Gabor滤波方差偏差,利用支持向量机进行分类,从而得到细分割结果:4.1、如果<img file="FDA000029735403000110.GIF" wi="311" he="84" />取一个大小为c×c、几何中心与W<sub>in</sub>(i,j)几何中心重合的图像外层块W<sub>out_2</sub>(i,j),提取W<sub>out_2</sub>(i,j)的对比度、方向一致性、Gabor滤波方差偏差,作为内层块W<sub>in</sub>(i,j)的特征,具体包括:a)计算对比度con(i,j):<maths num="0002"><![CDATA[<math><mrow><mi>m</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>s</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><mi>n</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><mi>d</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>s</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>n</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mfrac><mrow><msub><mi>s</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>n</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mi>con</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>d</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><mi>m</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,n(i,j)和s(i,j)为图像块内W<sub>out_2</sub>(i,j)所有像素的个数及灰度值相加的和,n<sub>1</sub>(i,j)和s<sub>1</sub>(i,j)为图像块W<sub>out_2</sub>(i,j)内所有灰度值大于m(i,j)的像素的个数及灰度值相加的和,n<sub>2</sub>(i,j)及s<sub>2</sub>(i,j)为图像块W<sub>out_2</sub>(i,j)内所有灰度值小于m(i,j)的像素的个数及灰度值相加的和;b)计算方向一致性coh(i,j):<maths num="0005"><![CDATA[<math><mrow><mi>coh</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msup><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><msubsup><mi>G</mi><mi>x</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mi>G</mi><mi>y</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><mn>2</mn><mo>&CenterDot;</mo><msub><mi>G</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>G</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></mrow><msup><mrow><mo>(</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><msubsup><mi>G</mi><mi>x</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>+</mo><msubsup><mi>G</mi><mi>y</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>c)计算Gabor滤波特征方差偏差:采用具有方向选择性和频率选择性的二维偶Gabor滤波器,表达式如下<maths num="0006"><![CDATA[<math><mrow><mi>h</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>&phi;</mi><mo>,</mo><mi>f</mi><mo>)</mo></mrow><mo>=</mo><mi>exp</mi><mo>{</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><mfrac><msubsup><mi>x</mi><mi>&phi;</mi><mn>2</mn></msubsup><msubsup><mi>&delta;</mi><mi>x</mi><mn>2</mn></msubsup></mfrac><mo>+</mo><mfrac><msubsup><mi>y</mi><mi>&phi;</mi><mn>2</mn></msubsup><msubsup><mi>&delta;</mi><mi>y</mi><mn>2</mn></msubsup></mfrac><mo>)</mo></mrow><mo>}</mo><mi>cos</mi><mrow><mo>(</mo><mn>2</mn><mi>&pi;</mi><msub><mi>fx</mi><mi>&phi;</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,x<sub>φ</sub>=xcosφ+ysinφ,y<sub>φ</sub>=-xsinφ+ycosφ,φ为Gabor滤波器的方向,f为滤波器中心频率,这里设为指纹脊线的平均频率值;δ<sub>x</sub>和δ<sub>y</sub>分别为沿x轴和y轴的高斯包络常数,对这两个参数均取0.4;对图像块进行两个方向的Gabor滤波:<maths num="0007"><![CDATA[<math><mrow><msubsup><mi>I</mi><mrow><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo>&prime;</mo></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>u</mi><mo>=</mo><mo>-</mo><mi>R</mi></mrow><mi>R</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>v</mi><mo>=</mo><mo>-</mo><mi>R</mi></mrow><mi>R</mi></munderover><mi>h</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>,</mo><mi>&theta;</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo><mi>f</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>I</mi><mrow><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mi>u</mi><mo>,</mo><mi>y</mi><mo>-</mo><mi>v</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><msubsup><mi>I</mi><mrow><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>u</mi><mo>=</mo><mo>-</mo><mi>R</mi></mrow><mi>R</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>v</mi><mo>=</mo><mo>-</mo><mi>R</mi></mrow><mi>R</mi></munderover><mi>h</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>,</mo><mi>&theta;</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><mfrac><mi>&pi;</mi><mn>2</mn></mfrac><mo>,</mo><mi>f</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>I</mi><mrow><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mi>u</mi><mo>,</mo><mi>y</mi><mo>-</mo><mi>v</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,R表示滤波器的半径,θ(i,j)为图像块W<sub>out_2</sub>(i,j)的纹理主方向,<img file="FDA00002973540300027.GIF" wi="236" he="126" />为图像块W<sub>out_2</sub>(i,j)的纹理次方向,θ(i,j)的计算公式如下:<maths num="0009"><![CDATA[<math><mrow><mi>&theta;</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>tan</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mfrac><mrow><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><msubsup><mi>G</mi><mi>x</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mi>G</mi><mi>y</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo></mrow></mrow><mrow><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><msub><mi>G</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>G</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>Gabor滤波方差偏差Gabor_dif(i,j):<maths num="0010"><![CDATA[<math><mrow><mi>Gabor</mi><mo>_</mo><mn>1</mn><mo>=</mo><mfrac><mn>1</mn><mi>num</mi></mfrac><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><msup><mrow><mo>(</mo><msubsup><mi>I</mi><mrow><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mo>&prime;</mo></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>m</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><mi>Gabor</mi><mo>_</mo><mn>2</mn><mo>=</mo><mfrac><mn>1</mn><mi>num</mi></mfrac><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&Element;</mo><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><msup><mrow><mo>(</mo><msubsup><mi>I</mi><mrow><msub><mi>W</mi><mrow><mi>out</mi><mo>_</mo><mn>2</mn></mrow></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>m</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths>Gabor_dif(i,j)=|Gabor_1-Gabor_2|      (12)其中,num为图像块W<sub>out_2</sub>(i,j)内的像素个数,m<sub>1</sub>(i,j)和m<sub>2</sub>(i,j)分别为主方向和次方向滤波后图像块的像素均值;由此得到图像子块的特征向量,考虑到同一指纹库中不同指纹图像之间的差异,对特征向量进行归一化处理;4.2、构造训练样本,训练SVM:将要用于训练的指纹图像首先进行粗分割,计算分割结果中前景区域的特征向量,然后人工挑选出部分噪声区域及纹路不可恢复区域,作为无效区域样本,记为[con(i,j),coh(i,j),Gabor_dif(i,j),-1];挑选出部分指纹纹路清晰块加以标注,作为有效前景区域样本,记为[con(i,j),coh(i,j),Gabor_dif(i,j),+1];利用训练样本对SVM进行训练,得到最终SVM模型;4.3、用训练好的SVM修正mask图像:对每个图像块,如果<img file="FDA00002973540300031.GIF" wi="312" he="95" />则计算它的对比度、方向一致性及Gabor滤波方差偏差,得到特征向量,输入训练好的SVM;SVM的对应输出如果是+1,则判该块为有效的前景区域,<img file="FDA00002973540300032.GIF" wi="322" he="91" />如果是-1,则判该块无效的前景区域,<img file="FDA00002973540300033.GIF" wi="331" he="87" />步骤五、采用形态学方法对细分割后的结果进行后处理。
地址 214035 江苏省无锡市惠河路5号58所九部