发明名称 基于光源反光区域检测和改进Hough变换的虹膜定位方法
摘要 一种基于光源反光区域检测和改进Hough变换的虹膜定位方法,包括以下步骤:(1)对原始虹膜图像进行形态学运算,消除瞳孔区域的反光区域,在消除反光区域前后,分别用设定的阈值进行二值化,确定瞳孔内反光区域并计算出均值,把均值点C作为内边界的基准点;(2)利用基准点确定内边界的感兴趣区域以及内边界拟合的圆心半径范围,对内边界的感兴趣区域进行改进Hough变换,找出虹膜图像内边界;在内边界的基础上找出虹膜图像外边界。该方法充分利用虹膜图像的特征,在内外边界定位过程中,利用基准点C对边缘检测的图像设定拟合感兴趣区域以及圆心半径的范围,大大减少了拟合算法计算量,且减少了眼睑、睫毛等噪点对拟合的影响。
申请公布号 CN103824061A 申请公布日期 2014.05.28
申请号 CN201410075000.8 申请日期 2014.03.03
申请人 山东大学 发明人 韩民;张国裕
分类号 G06K9/00(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 宁钦亮
主权项 1.一种基于光源反光区域检测和改进Hough变换的虹膜定位方法,其特征是:包括以下步骤:(1)确定基准点:利用虹膜采集过程中会在瞳孔中形成反光点这一特性,对原始虹膜图像进行形态学运算,消除瞳孔区域的反光区域,在消除反光区域前后,分别用设定的阈值进行二值化,确定瞳孔内反光区域并计算出均值,把均值点C作为内边界的基准点;步骤(1)的具体过程如下:①对输入的虹膜图像I(m,n),m≤MI,n≤NI,进行高斯金字塔分解,MI和NI分别是虹膜图像的总行数和总列数,得到概貌图像Ic;②根据反光区域的灰度值特性,设定阈值Th,将概貌图像Ic二值化。低于设定阈值Th的像素的灰度值置为0,得到低亮度L区域;否则置1,得到高亮度H区域,得到概貌图像Ic的二值化图像Ic_b;<maths num="0001"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>Ic</mi><mo>_</mo><mi>b</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo><mi>ifIc</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>Th</mi></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>ifIc</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&lt;</mo><mi>Th</mi></mtd></mtr></mtable></mfenced></mtd></mtr><mtr><mtd><mi>Th</mi><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>Ic</mi><mo>_</mo><mi>max</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中Ic_max(j)表示第j列的像素最大值,N表示概貌图像Ic的总列数,Th表示Ic_max(j)的均值;③对概貌图像Ic进行形态学开运算,得到消除瞳孔内部反光区域后的图像Ic_pupil;④根据瞳孔区域的灰度值特性,设定阈值Tl,将消除瞳孔内部反光区域后的图像Ic_pupil二值化,低于设定阈值Tl的像素的灰度值置为0,得到低亮度L1区域;否则置1,得到高亮度H1区域,得到消除反光区域后的图像二值化后的图像Ic_b1;<maths num="0002"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>Ic</mi><mo>_</mo><mi>b</mi><mn>1</mn><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo><mi>ifIc</mi><mo>_</mo><mi>pupil</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>Tl</mi></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>ifIc</mi><mo>_</mo><mi>pupil</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&lt;</mo><mi>Tl</mi></mtd></mtr></mtable></mfenced></mtd></mtr><mtr><mtd><mi>Tl</mi><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>Ic</mi><mo>_</mo><mi>pupil</mi><mo>_</mo><mi>min</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中Ic_pupil_min(j)表示第j列的像素最小值,N表示图像Ic_pupil的总列数,Tl表示Ic_pupil_min(j)的均值;⑤由于只有瞳孔内的反光区域同时属于概貌图像的二值化图像Ic_b中的高亮度区域和图像Ic_b1中的低亮度区域,由此可见,瞳孔内反光点的均值点C就在瞳孔内,均值点C就能够作为内边界定位的基准点,C=(C<sub>x</sub>,C<sub>y</sub>)。(2)对虹膜内边界和外边界定位:利用基准点确定内边界的感兴趣区域以及内边界拟合的圆心半径范围,对内边界的感兴趣区域进行改进Hough变换,找出虹膜图像内边界;在内边界的基础上确定外边界的感兴趣区域以及外边界拟合的圆心半径范围,对外边界的感兴趣区域进行同样的改进Hough变换,找出虹膜图像外边界;步骤(2)的具体过程如下:①边缘检测:用canny算子对概貌图像Ic进行边缘检测操作,Canny算子求边缘点具体算法步骤如下:(a)用高斯滤波器平滑图像,(b)用一阶偏导有限差分计算梯度幅值和方向,(c)对梯度幅值进行非极大值抑制方法来细化边界,处理后得到图像Ic_nmax,(d)最后用滞后阈值二值化,高阈值TH_H用于检测梯度幅值大的强边缘,低阈值TH_L检测与强边缘相连的弱边缘和连接边缘,得到图像Ic_icanny;<maths num="0003"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>TH</mi><mo>_</mo><mi>H</mi><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>Ic</mi><mo>_</mo><mi>n</mi><mi>max</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>TH</mi><mo>_</mo><mi>L</mi><mo>=</mo><mn>0.5</mn><mo>*</mo><mi>TH</mi><mo>_</mo><mi>H</mi></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths>②确定内边界感兴趣区域:设定瞳孔半径范围[R<sub>min</sub> R<sub>max</sub>],并把此范围作为半径参数的感兴趣范围,令△=0.5*(R<sub>max</sub>-R<sub>min</sub>),△小于5,设定行[-2*△+C<sub>x</sub> 2*△+C<sub>x</sub>],列[-2*△+C<sub>y</sub> 2*△+C<sub>y</sub>]的微小区间为虹膜内边界圆心的范围,此范围就是圆心参数的感兴趣区间;对Hough变换拟合的范围进行限制,基准点C=(C<sub>x</sub>,C<sub>y</sub>)在瞳孔内部,令D_interior=0.5*(R<sub>min</sub>+R<sub>max</sub>),由此截取图像Ic_icanny的行为[-2*D_interior+C<sub>x</sub> 2*D_interior+C<sub>x</sub>],列为[-2*D_interior+C<sub>y</sub> 2*D_interior+C<sub>y</sub>]的矩形区域作为内边界的感兴趣区域;③通过改进Hough变换确定内边界:虹膜内边界能够表示成圆方程,由于边缘检测出来的内边界不一定是完整的圆,大量边界点不在圆上,而是在圆内外两三个像素范围内,所以需要对Hough变换做改进,再对感兴趣区域进行拟合,确定内边界;具体公式如下:<maths num="0004"><![CDATA[<math><mrow><mi>H</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>c</mi></msub><mo>,</mo><msub><mi>y</mi><mi>c</mi></msub><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mo>-</mo><mn>2</mn><mo>*</mo><mi>D</mi><mo>_</mo><mi>interior</mi><mo>+</mo><msub><mi>C</mi><mi>x</mi></msub></mrow><mrow><mn>2</mn><mo>*</mo><mi>D</mi><mo>_</mo><mi>interior</mi><mo>+</mo><msub><mi>C</mi><mi>x</mi></msub></mrow></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mo>-</mo><mn>2</mn><mo>*</mo><mi>D</mi><mo>_</mo><mi>interior</mi><mo>+</mo><msub><mi>C</mi><mi>y</mi></msub></mrow><mrow><mn>2</mn><mo>*</mo><mi>D</mi><mo>_</mo><mi>interior</mi><mo>+</mo><msub><mi>C</mi><mi>y</mi></msub></mrow></munderover><mi>h</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>y</mi><mi>j</mi></msub><mo>,</mo><msub><mi>x</mi><mi>c</mi></msub><mo>,</mo><msub><mi>y</mi><mi>c</mi></msub><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>其中,<maths num="0005"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>h</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>y</mi><mi>j</mi></msub><mo>,</mo><msub><mi>x</mi><mi>c</mi></msub><mo>,</mo><msub><mi>y</mi><mi>c</mi></msub><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>1</mn><mo>,</mo><mi>if</mi><mo>-</mo><mn>10</mn><mo>&le;</mo><mi>g</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>y</mi><mi>j</mi></msub><mo>,</mo><msub><mi>x</mi><mi>c</mi></msub><mo>,</mo><msub><mi>y</mi><mi>c</mi></msub><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>&le;</mo><mn>10</mn></mtd></mtr><mtr><mtd><mn>0</mn><mo>,</mo><mi>else</mi></mtd></mtr></mtable></mfenced></mtd></mtr><mtr><mtd><mi>g</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>y</mi><mi>j</mi></msub><mo>,</mo><msub><mi>x</mi><mi>c</mi></msub><mo>,</mo><msub><mi>y</mi><mi>c</mi></msub><mo>,</mo><mi>r</mi><mo>)</mo></mrow><mo>=</mo><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>-</mo><msub><mi>x</mi><mi>c</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>j</mi></msub><mo>-</mo><msub><mi>y</mi><mi>c</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>-</mo><msup><mi>r</mi><mn>2</mn></msup></mtd></mtr><mtr><mtd><msub><mi>R</mi><mi>min</mi></msub><mo>&le;</mo><mi>r</mi><mo>&le;</mo><msub><mi>R</mi><mi>max</mi></msub></mtd></mtr><mtr><mtd><mo>|</mo><msub><mi>x</mi><mi>c</mi></msub><mo>-</mo><msub><mi>C</mi><mi>x</mi></msub><mo>|</mo><mo>&le;</mo><mn>2</mn><mo>*</mo><mi>&Delta;</mi></mtd></mtr><mtr><mtd><mo>|</mo><msub><mi>y</mi><mi>c</mi></msub><mo>-</mo><msub><mi>C</mi><mi>y</mi></msub><mo>|</mo><mo>&le;</mo><mn>2</mn><mo>*</mo><mi>&Delta;</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中(x<sub>j</sub>,y<sub>j</sub>)表示边缘点坐标,(x<sub>c</sub>,y<sub>c</sub>)、r分别表示圆心、半径参数,g(x<sub>j</sub>,y<sub>j</sub>,x<sub>c</sub>,y<sub>c</sub>,r)表示边缘点(x<sub>j</sub>,y<sub>j</sub>)距离参数对为(x<sub>c</sub>,y<sub>c</sub>,r)的圆方程的距离,h(x<sub>j</sub>,y<sub>j</sub>,x<sub>c</sub>,y<sub>c</sub>,r)判断边缘点是否满足条件,H(x<sub>c</sub>,y<sub>c</sub>,r)表示符合条件的边缘点数目;根据投票法,对于每一个边缘点(x<sub>j</sub>,y<sub>j</sub>),如果这个边缘点能使-10≤g(x<sub>j</sub>,y<sub>j</sub>,x<sub>c</sub>,y<sub>c</sub>,r)≤10,则这个点在参数对为(x<sub>c</sub>,y<sub>c</sub>,r)的圆周围;因此,通过迭代运算使H的值最大化,则意味着在这个圆周围的边界点最多,此时参数对(x<sub>c</sub>,y<sub>c</sub>,r)也就是虹膜内边界的参数;④改进滞后阈值:为了降低内边界以及部分噪音点细节点对外边界拟合的影响,需要先对这些点进行置零;具体做法如下:对canny算子极大值抑制后的边界的图像Ic_nmax进行去噪处理,即高于阈值T0的值置零,公式如下;<maths num="0006"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>mask</mi><mn>1</mn><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn><mo>,</mo></mtd><mtd><mi>ifIc</mi><mo>_</mo><mi>n</mi><mi>max</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>T</mi><mn>0</mn></mtd></mtr><mtr><mtd><mi>Ic</mi><mo>_</mo><mi>n</mi><mi>max</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>,</mo></mtd><mtd><mi>else</mi></mtd></mtr></mtable></mfenced></mtd></mtr><mtr><mtd><mi>T</mi><mn>0</mn><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>Ic</mi><mo>_</mo><mi>n</mi><mi>max</mi><mo>_</mo><mi>max</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中Ic_nmax_max(j)表示第j列的像素最大值,N表示图像Ic_nmax的总列数,T0表示Ic_nmax_max(j)的均值,再用滞后阈值对mask1进行二值化,得到二值化后的图像Ic_ocanny;⑤确定外边界感兴趣区域:设虹膜外边界半径为D_out,取[D_out-△ D_out+△]作为外边界半径的范围,设定行[x<sub>c</sub>-△ x<sub>c</sub>+△],列[y<sub>c</sub>-△ y<sub>c</sub>+△]的微小区间为虹膜外边界圆心的范围,此范围就是圆心参数的感兴趣区间;截取图像Ic_ocanny行为[-0.6*D_out+x<sub>c</sub> D_out+x<sub>c</sub>],列为[-1.2*D_out+y<sub>c</sub> 1.2*D_iout+y<sub>c</sub>]的图像部分作为有效外边界区域;⑥通过改进Hough变换确定外边界:按步骤③所述过程在外边界感兴趣区域进行改进Hough变换,再对外边界感兴趣区域进行拟合,确定外边界。
地址 250100 山东省济南市历城区山大南路27号