一种基于边缘滤波、椭圆评价和瞳孔验证的瞳孔检测方法与流程

文档序号:17833625发布日期:2019-06-05 23:17阅读:455来源:国知局
一种基于边缘滤波、椭圆评价和瞳孔验证的瞳孔检测方法与流程

本发明涉及一种生物识别中瞳孔定位的方法,特别是涉及一种基于眼睛灰度图像进行边缘滤波、椭圆评价和瞳孔验证的瞳孔定位方法。



背景技术:

现在,在许多生物识别、机器视觉、医疗领域都用到了眼睛瞳孔的定位,目前眼睛瞳孔的定位都是基于眼睛图像中自动检测的瞳孔的中心来映射场景的注视点。尽管在实验室条件下可以成功地完成定位,但是许多研究报告了在自然环境中定位瞳孔时出现困难,例如疲劳驾驶检测,虹膜识别,自动购物,医疗等。这些实验任务中的主要噪声源是非稳定瞳孔信号,其主要与瞳孔基于图像的检测中的算法有关。现在总结了定位眼睛瞳孔时出现的各种困难,例如改变照明、运动模糊、记录错误和覆盖瞳孔的睫毛、上下眼皮遮挡等。快速变化的照明条件主要出现在被摄物体快速移动的任务中,例如,在走动时,或相对于不均匀分布的光源旋转。此外,如果被摄体戴眼镜或隐形眼镜,则可能发生进一步的反射。因此,基于实验室外眼睛瞳孔定位的检测率一直很低,所以现在许多在这些研究中收集的数据必须人工后处理,这是一个费时费力的过程。此外,这种后处理对于依赖于瞳孔监控(例如,疲劳驾驶、虹膜识别或手术辅助)的实时应用是不可能的。这种实时应用也对算法施加了苛刻的限制,使得使用计算机密集型方法变得不可行,并导致基于阈值的方法的流行。



技术实现要素:

为了克服现有技术的不足,本发明提供一种基于边缘滤波、椭圆评价和瞳孔验证的瞳孔定位方法,能解决目前在虹膜识别,疲劳检测方面,对于瞳孔定位的检测时间消耗和精准度,效率普遍不高的问题。

为解决上述技术问题,本发明提供如下技术方案:

一种基于边缘滤波、椭圆评价和瞳孔验证的瞳孔定位方法,具体步骤为:

步骤一:对经过归一化后的图像进行边缘滤波:用canny-filter对眼部图像进行边缘滤波,会出现杂乱和包含了许多与瞳孔没有关系的边缘,比如,眼皮对眼睛的遮挡,睫毛直接穿插过瞳孔,所以,在边缘滤波后,同时要移除这些无用的像素。具体的就是相邻近的像素的角度超过80度的直接删除,只留下直的,弯曲的,或者两者相交的边缘,比如,瞳孔的睫毛边缘是直的,并且和瞳孔弯曲的边缘相连。使用灰度形态算法将直接和弯曲相交的线分成直线部分和弯曲的两部分。将边缘像素和模式进行匹配,有匹配的则进行删除,并在相交点将像素灰度值改成黑色的像素。经过形态算法细化之后,直线和曲线的相交部分就可以通过删除一个黑色的像素形成两部分线段。除了这里情况应该还有一些其他噪声影响模式的匹配查找,这样我们可以通过调整形态学中的模板形态,使之相匹配,来达到减少噪声的影响。

步骤二:检索最佳的椭圆:收集边缘图像中的所有连续边缘像素。用形态学方法,将所有连接的边缘像素组合成一条线来完成的。在算法中。这些线是根据它们的形状、椭圆拟合后的结果形状以及椭圆所包围的图像强度来评估的。

步骤三:粗略定位瞳孔的位置:

如果算法不能很好的找到瞳孔边缘,例如由于运动模糊、瞳孔位于暗点或瞳孔被睫毛隐藏等噪声,我们通过首先确定一个位置,然后细化这个位置,找到瞳孔。由于需要大量的卷积运算,所以将图像重新缩放以减少运行效率,这种重新缩小图像和定位的过程是通过低通滤波程序,以保持黑暗区域和减少模糊或睫毛的影响。然后,分别用两个不同的滤波器对图像进行卷积:1)表面差分滤波器,用于计算内圆和周围像素之间的面积差;2)均值滤波器;然后两个卷积的结果相乘,并且最大值被设置为细化步骤的起点。

步骤四:精确定位瞳孔的位置:

因为这个瞳孔的粗定位是基于缩小图像完成的,所以相对于原始图像,缩小图像的中的像素和原始图像有一定的偏差。所以针对优化步骤,我们认为粗定位中的点包含在瞳孔中,在实际图像中,我们通过粗定位中点的临近的像素来计算出瞳孔强度阈值。在我们的实现中,我们选择每个方向2个像素距离组成的一个正方形框,并计算这个正方形框的绝对方差值,这个差值加上粗定位的值用作一个阈值。计算出这些阈值像素的质心作为瞳孔的精确定位中心。

步骤五:瞳孔有效性校验:

我们设定瞳孔半径比率valid(r)大于10个像素的阈值为有效瞳孔,valid(r)的用下面的公式计算:

valid(r)=radiifilter*radiifilter*2+1(3)

作为本发明的一种优选技术方案,步骤二中检索最佳椭圆的详细步骤为:

2.1检索并删除直线:因为瞳孔是近似圆形或者椭圆,也就是被曲线所包围,直线是不相关的,因此,将连接邻近边缘像素拟合成椭圆。我们根据所有属于直线的像素的平均位置来分析每条线是直线还是曲线,用线开始点像素到平均位置的最短距离低于阈值3,则认定线是直线,并删除。

2.2拟合椭圆:我们应用最小二乘法进行曲线的拟合。

2.3对拟合的椭圆进行评估:通过对瞳孔的面积s、形状p以及对拟合的圆内外区域之间的灰度比率值rate三个特征来删除不可能是瞳孔的椭圆,其中提取三个特征方法:

2.3.1:通过比较椭圆的半径的比率来评价那个更近似瞳孔。因为相机的在采集眼睛图像时,只能将瞳孔的偏心率偏移某一点。

2.3.2:通过瞳孔面积相对于图像尺寸的大小比率来评估,因为相机必须位于距离眼睛的固定距离,而相机的位置取决于瞳孔所占图像面积的比例,所以我们用占图像面积的两个阈值分别是minarea=0.3%和maxarea=7%来评估。

2.3.3:通过眼睛的生理特性评估,瞳孔的像素值比周围的像素颜色深暗,通过分别计算对应的像素强度值来进行评估。

2.4每个最佳椭圆比较计算:通过检索会有多个评估有效椭圆,所以要比较每个椭圆,以定位到瞳孔,通过计算圆周上的每个点和椭圆的中心之间的向量来计算每个椭圆的内部灰度值,通过下面的公式来计算椭圆的有效评估灰度值:

eval(circle)=grayvalue*(|circler1-circler2||+1)

因为在拟合的是椭圆或者不规则的圆形,我们一般选择两个半径来计算,在r1=r2时近椭圆最圆,我们通过选择这个最低的像素值和最圆的形状为瞳孔。

作为本发明的一种优选技术方案,步骤三中粗略定位瞳孔位置的详细步骤为:

3.1用低通滤波器重新调整缩小图像:

在算法的边缘检测部分由于运动模糊或睫毛而找不到边缘的情况下,优选对暗像素进行加权的缩放操作。然而,考虑到瞳孔也可以在图像的暗区域,对太强的暗像素进行加权可能导致瞳孔和周围暗区域的合并。我们采用一个快速的方法计算这个强度直方图(式1)并且用像素的平均强度值来替代新像素,然后,计算这个直方图低于整个图像直方图平均值的部份的平均值(式2),这个值用于新像素。

his(xi):xi区域强度直方图;xi:代表区域位置

3.2对调整完的图像进行卷积滤波:

由于瞳孔近似圆形,所以设计的卷积滤波器和表面差分滤波器都包含一个圆的形状,由于输入图像包含完整的眼睛,因此,预期的瞳孔大小取决于图像分辨率。为了计算滤波器半径参数,我们将图像的x和y轴的分辨率除以100。然后,这两个值的最大值被舍入并用作参数,根据这个值作为构建的滤波器中圆的半径。

3.3选择最优的瞳孔位置:

为了找到瞳孔的最佳拟合位置,我们首先用表面差分滤波器对缩放后的图像进行卷积。所有在滤波器内圈中具有低强度值的区域和周围区域具有高强度值的区域都将得到比值的结果。这种差异越大,卷积响应就越高。代表的是瞳孔被更亮的强度值所包围。该滤波器的问题是其他区域也以正值响应,并且滤波器响应不包括内部区域的强度信息。由于瞳孔是暗的,因此,我们使用均值滤波器来计算内部区域的强度响应。为了达到这个目的,用均值滤波器进行卷积的结果必须被反转。这是因为具有低强度的区域的响应很低,并且,为了将其用作表面差分滤波器结果的权重,我们希望它很高。加权是通过平均的两个卷积响应和表面差分滤波器的逐点相乘来完成的。在加权的结果中,搜索最大值并将其作为粗略位置。

通过反转表面差而不反转均值滤波器,该算法搜索白点。此外,通过减小滤波器的尺寸并且仅在瞳孔中心位置周围的小区域上操作,它可以用于角膜反射检测。

与现有技术相比,本发明能达到的有益效果是:

本发明中可以有效的解决其它算法在改变照明条件、运动模糊、记录错误和覆盖瞳孔的睫毛、上下眼皮遮挡情况下难以准确的瞳孔定位问题,在复杂的环境下本方法可以提高40%的瞳孔定位准确率。

附图说明

图1是本发明整个方法实施流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

请参照附图1所示,一种基于边缘滤波、椭圆评价和瞳孔验证的瞳孔检测方法,具体步骤为:

步骤一:对经过归一化后的图像进行边缘滤波:用canny-filter对眼部图像进行边缘滤波,会出现杂乱和包含了许多与瞳孔没有关系的边缘,比如,眼皮对眼睛的遮挡,睫毛直接穿插过瞳孔,所以,在边缘滤波后,同时要移除这些无用的像素。具体的就是相邻近的像素的角度超过80度的直接删除,只留下直的,弯曲的,或者两者相交的边缘,比如,瞳孔的睫毛边缘是直的,并且和瞳孔弯曲的边缘相连。使用灰度形态算法将直接和弯曲相交的线分成直线部分和弯曲的两部分。将边缘像素和模式进行匹配,有匹配的则进行删除,并在相交点将像素灰度值改成黑色的像素。经过形态算法细化之后,直线和曲线的相交部分就可以通过删除一个黑色的像素形成两部分线段。除了这里情况应该还有一些其他噪声影响模式的匹配查找,这样我们可以通过调整形态学中的模板形态,使之相匹配,来达到减少噪声的影响。

步骤二:检索最佳的椭圆:收集边缘图像中的所有连续边缘像素。用形态学方法,将所有连接的边缘像素组合成一条线来完成的。在算法中。这些线是根据它们的形状、椭圆拟合后的结果形状以及椭圆所包围的图像强度来评估的。

步骤三:粗略定位瞳孔的位置:

如果算法不能很好的找到瞳孔边缘,例如由于运动模糊、瞳孔位于暗点或瞳孔被睫毛隐藏等噪声,我们通过首先确定一个位置,然后细化这个位置,试图找到瞳孔。由于需要计算量大的卷积运算,所以我们需要重新缩放图像以保持运行时。这种重新缩小图像和定位的过程包括低通滤波程序,以保持黑暗区域和减少模糊或睫毛的影响。然后,分别用两个不同的滤波器对图像进行卷积:1)表面差分滤波器,用于计算内圆和周围像素之间的面积差;2)均值滤波器;然后两个卷积的结果相乘,并且最大值被设置为细化步骤的起点。

步骤四:精确定位瞳孔的位置:

因为这个瞳孔的粗定位是基于缩小图像完成的,所以相对于原始图像,缩小图像的中的像素和原始图像有一定的偏差。所以针对优化步骤,我们认为粗定位中的点包含在瞳孔中,在实际图像中,我们通过粗定位中点的临近的像素来计算出瞳孔强度阈值。在我们的实现中,我们选择每个方向2个像素距离组成的一个正方形框,并计算这个正方形框的绝对方差值,这个差值加上粗定位的像素值用作一个阈值。计算出这些阈值像素的质心作为瞳孔的精确定位中心。

步骤五:瞳孔有效性校验:

我们设定瞳孔半径比率valid(r)大于10个像素的阈值为有效瞳孔,valid(r)的用下面的公式计算:

valid(r)=radiifilter*radiifilter*2+1(3)

具体的检索最佳的椭圆详细步骤为:

检索并删除直线:

因为瞳孔是近似圆形或椭圆,也就是被曲线所包围,直线是不相关的,因此,将连接邻近边缘像素拟合成近似圆。我们根据所有属于直线的像素的平均位置来分析每条线是直线还是曲线,假如线开始点像素到平均位置的最短距离低于阈值3,则认定线是直线,并删除

拟合椭圆:我们应用最小二乘法进行曲线的拟合。

对拟合的椭圆进行评估:通过对瞳孔的面积s、形状p以及对拟合的椭圆内外区域之间的灰度比率值rate三个特征来删除不可能是瞳孔的近似圆,其中提取三个特征方法:

通过比较两个椭圆的半径的比率来评价那个更近似瞳孔。因为相机的在采集眼睛图像时,只能将瞳孔的偏心率偏移某一点。

通过瞳孔面积相对于图像尺寸的大小比率来评估,因为相机必须位于距离眼睛的固定距离,而相机的位置取决于瞳孔所占图像面积的比例,所以我们用占图像面积的两个阈值分别是minarea=0.3%和maxarea=7%来评估。

通过眼睛的生理特性评估,瞳孔的像素值比周围的像素颜色深暗,通过分别计算对应的像素强度值来进行评估。

每个最佳椭圆比较计算:通过检索会有多个评估有效椭圆,所以要比对每一个椭圆,以找定位到瞳孔,通过计算圆周上的每个点和椭圆的中心之间的向量来计算每个椭圆的内部灰度值并通过下面的公式来计算有效评估灰度值:

eval(circle)=grayvalue*(|circler1-circler2||+1)

因为在拟合圆基本上是椭圆或者不规则的圆形,我们一般选择两个半径来计算,在r1=r2时椭圆最圆,我们通过选择这个最低的像素值和最圆的形状作为瞳孔。

粗略定位瞳孔的位置详细步骤为:

用低通滤波器重新调整缩小图像:

在算法的边缘检测部分由于运动模糊或睫毛而找不到边缘的情况下,优选对暗像素进行加权的缩放操作。然而,考虑到瞳孔也可以在图像的暗区域,对太强的暗像素进行加权可能导致瞳孔和周围暗区域的合并。我们采用一个快速的方法计算这个强度直方图(式1)并且用像素的平均强度值来替代新像素,然后,计算这个直方图低于整个图像直方图平均值的部份的平均值(式2),这个值用于新像素。

his(xi):xi区域强度直方图;xi:代表区域位置

对调整完的图像进行卷积滤波:

由于瞳孔近似圆形,所以设计的卷积滤波器和表面差分滤波器都包含一个圆的形状,由于输入图像包含完整的眼睛,因此,预期的瞳孔大小取决于图像分辨率。为了计算滤波器半径参数,我们将图像的x和y轴的分辨率除以100。然后,这两个值的最大值被舍入并用作参数,根据这个值作为构建的滤波器中圆的半径。

选择最优的瞳孔位置:

为了找到瞳孔的最佳拟合位置,我们首先用表面差分滤波器对缩放后的图像进行卷积。所有在滤波器内圈中具有低强度值的区域和周围区域具有高强度值的区域都将得到比值的结果。这种差异越大,卷积响应就越高。代表的是瞳孔被更亮的强度值所包围。该滤波器的问题是其他区域也以正值响应,并且滤波器响应不包括内部区域的强度信息。由于瞳孔是暗的,因此,我们使用均值滤波器来计算内部区域的强度响应。为了达到这个目的,用均值滤波器进行卷积的结果必须被反转。这是因为具有低强度的区域的响应很低,并且,为了将其用作表面差分滤波器结果的权重,我们希望它很高。加权是通过平均的两个卷积响应和表面差分滤波器的逐点相乘来完成的。在加权的结果中,搜索最大值并将其作为粗略位置。

通过反转表面差而不反转均值滤波器,该算法搜索白点。此外,通过减小滤波器的尺寸并且仅在瞳孔中心位置周围的小区域上操作,它可以用于角膜反射检测。

本发明的实施方式不限于此,按照本发明的上述实施例内容,利用本领域的常规技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,以上优选实施例还可以做出其它多种形式的修改、替换或组合,所获得的其它实施例均落在本发明权利保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1