一种瞳孔图像分割方法与流程

文档序号:31658817发布日期:2022-09-27 22:43阅读:151来源:国知局
一种瞳孔图像分割方法与流程

1.本发明涉及图像处理技术领域,具体涉及一种瞳孔图像分割方法。


背景技术:

2.瞳孔是人眼内虹膜中心的小圆孔,为光线进入眼睛的通道,瞳孔会随着人体的某些生理和心理变化而发生变化,所以通过对瞳孔变化的检测,可以分析人体的生理、心理变化的信息,目前通过瞳孔变化分析人体生理和心理变化的方式被应用在临床、眼科和犯罪学科多个领域,随着技术的发展,对瞳孔位置和大小检测的准确度有了更高的要求。
3.目前的检测方法中有通过霍夫圆变换检测瞳孔大小以及对瞳孔定位的方法,但是该检测方法是对图像中的所有像素点进行分析,并且在霍夫圆变换中需要对图像中的每个像素点拟合所有尺寸的圆得到霍夫空间中的一条曲线,这种检测方法的计算量过大,这样就对计算机硬件有了更高的要求,因此,需要一种瞳孔图像分割方法。


技术实现要素:

4.本发明提供一种瞳孔图像分割方法,以解决现有的问题。
5.本发明的一种瞳孔图像分割方法采用如下技术方案:该方法包括:获取待检测人眼图像的灰度图像,获取灰度图像的二值图像;对二值图像进行边缘检测得到边缘图像,对边缘图像中的像素点进行链码跟踪得到多段链码,利用每段链码中的元素的众数从多段链码中确定出初始目标链码;获取每段初始目标链码对应的边缘像素点组成的边缘线,过同一边缘线上任意不相邻的两个边缘像素点做直线,获取直线的距离阈值内的边缘像素点的离散程度;根据每条直线对应的离散程度从初始目标链码中确定出目标链码;选取最长的目标链码作为疑似瞳孔链码,去除该疑似瞳孔链码中连续相同的元素得到目标元素,利用目标元素对应的像素点进行霍夫圆变换得到一个圆,根据该圆的圆心和半径得到瞳孔的位置和大小。
6.进一步,获取灰度图像的二值图像的步骤包括:利用自适应阈值分割的方法得到疑似瞳孔区域图像和背景图像;将疑似瞳孔区域的像素点的灰度值全部置为0;将背景点的灰度值全部置为1,得到灰度图像的二值图像。
7.进一步,对边缘图像中的像素点进行链码跟踪得到多段链码的步骤包括:遍历边缘图像,边缘图像中的像素点即二值图像中的边缘像素点;从得到的第一个边缘像素点开始进行8方向链码跟踪;直到得到的某个边缘像素点不存在下一个8方向链码停止跟踪,此时得到了一段链码,标记链码中的边缘像素点;重新确定一个未被标记的边缘像素点进行重复的链码跟踪;直到二值图像中的边缘像素点都完成链码跟踪,最终得到多段链码。
8.进一步,利用每段链码中的元素的众数确定初始目标链码的步骤包括:去除元素数量小于等于设定的最小数量阈值的链码;在其余的链码中,利用滑框遍历每段链码,获取每段链码的每个滑框中元素的众数以及众数出现的频数;对每段链码中所有滑框的众数再求众数,记为目标众数,获取目标众数在所有滑框中出现的频数;根据每段链码的所有滑框中的众数以及众数出现的频数、目标众数以及目标众数出现的频数确定该段链码的边缘平直判定系数;根据每段链码的边缘平直判定系数确定出初始目标链码。
9.进一步,过同一边缘线上任意不相邻的两个边缘像素点做直线,获取直线的距离阈值内的边缘像素点的离散程度的步骤包括:过同一边缘线上任意不相邻的两个边缘像素点做直线,获取该直线的距离阈值内的边缘像素点的离散程度;在该直线的距离阈值外,任意选取某条初始目标链码对应的边缘线上不相邻的两个像素点,过所述两个边缘像素点做直线,获取该直线的距离阈值内的边缘像素点的离散程度;在得到的两条直线的距离阈值外,任意选取某条初始目标链码对应的边缘线上不相邻的两个像素点获取离散程度;直到边缘图像中所有的初始目标链码对应的边缘像素点都在所得到的直线的距离阈值内,停止获取离散程度。
10.进一步,获取直线的距离阈值内的边缘像素点的离散程度的步骤包括:将直线的距离阈值等分为两部分,近距离区间和远距离区间;分别获取该直线近距离区间和远距离区间中的边缘像素点数量;将近距离区间和远距离区间中边缘像素点数量的比值作为该直线的距离阈值内的边缘像素点的离散程度。
11.进一步,根据每条直线对应的离散程度从初始目标链码中确定出目标链码的步骤包括:将离散程度大于预设的离散阈值的直线对应的初始目标链码记为目标链码。
12.本发明的有益效果是:本发明的一种瞳孔图像分割方法,通过根据链码编码表示边缘线的特征,根据链码中元素种类的数量从多段链码中确定出初始目标链码,去除了较为平直的边缘线对应的链码,减少了后续的计算量;并且通过计算直线的距离阈值内边缘像素点的离散程度,去除了离散程度较小,即分布的区域形状较为趋近直线的边缘线对应的初始目标链码,减少了计算量;本发明还去除了疑似瞳孔链码中连续相同的元素,对其余元素进行霍夫圆变换,减少了计算量,提高了检测效率。
附图说明
13.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可
以根据这些附图获得其他的附图。
14.图1为本发明的一种瞳孔图像分割方法的实施例总体步骤的流程图;图2为图1中待检测人眼的灰度图像;图3为图1中灰度图像的二值图像;图4为图1中的边缘图像;图5为图1中圆的位图图像。
具体实施方式
15.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
16.本发明的一种瞳孔图像分割方法的实施例,如图1所示,该方法包括:s1、获取待检测人眼图像的灰度图像,获取灰度图像的二值化图像。
17.具体的,根据人眼图像采集电子设备采集待检测人眼图像,对待检测人眼图像进行灰度处理得到待检测人眼的灰度图像,如图2所示,由于得到的灰度图像会有噪声干扰,中值滤波能够有效去除灰度图像中正态分布的噪声,所以采用中值滤波对灰度图像降噪;本发明是为了获取瞳孔的大小和位置,所以要分割出灰度图像中的瞳孔区域。
18.人眼的瞳孔和眼睑区域的颜色较深,人眼其他部位颜色较深,在灰度图像中表现为瞳孔和眼睑区域的灰度值较小,人眼其他部位的灰度值较大,并且这两部分的灰度值差异较大,因此将灰度图像中灰度值小的像素点组成的区域记为疑似瞳孔区域;获取待检测人眼的灰度图像中所有像素点的灰度值,根据预设的分割阈值和每个像素点的灰度值,将灰度图像中灰度值小于分割阈值的像素点划分为初始疑似瞳孔区域区域像素点,将灰度图像中灰度值大于或等于分割阈值的点划分为初始背景点;获取初始疑似瞳孔区域像素点占灰度图像所有像素点的初始疑似瞳孔区域比例和初始疑似瞳孔区域像素点的灰度值均值,获取初始背景点占灰度图像所有像素点的初始背景点比例和初始背景点的灰度值均值。
19.根据下式(1)计算类间方差:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,g表示类间方差;表示初始疑似瞳孔区域比例;表示初始疑似瞳孔区域像素点的灰度值均值;表示初始背景点比例;表示初始背景点的灰度值均值。
20.多次调整预设的分割阈值得到多个对应的类间方差,从多个类间方差中选取最大类间方差,将得到最大类间方差的分割阈值作为灰度阈值;将灰度图像中灰度值小于灰度阈值的像素点划分为疑似瞳孔区域像素点,将灰度图像中灰度值大于或等于灰度阈值的像素点划分为背景点;根据分割后的灰度图像进行二值化处理,将疑似瞳孔区域像素点的灰度值全部置为0,将背景点的灰度值全部置为1,得到灰度图像的二值图像,如图3所示。
21.s2、对二值图像进行边缘检测得到边缘图像,对边缘图像中的边缘像素点进行链
码跟踪得到多段链码,利用每段链码中的元素的众数从多段链码中确定出初始目标链码。
22.在步骤s1中得到的二值图像中含有眼睑和睫毛区域的像素点,需要瞳孔特征识别中排除眼睑和睫毛这类非roi信息,减少不必要的计算,再利用链码编码和线性回归算法进一步排除非必要信息减少计算量。
23.具体的,对二值图像进行开运算,即先腐蚀后膨胀的操作,可以去除孤立的像素点、毛刺以及图像中存在细微连接的地方,减少后续的计算量;对开运算操作后的二值图像利用canny算子进行边缘检测得到边缘图像,如图4所示。
24.对边缘图像中的像素点进行链码编码得到多段链码。像素点的8方向链码与各个像素点周围的实际情况基本一致,可以准确地描述中心像素点与其邻域像素点的空间关系,所以使用8方向链码进行编码,从左到右,从上到下开始扫描边缘图像,遍历边缘图像中的所有像素点,边缘图像中所有像素点即二值图像中的边缘像素点,对得到的第一个边缘像素点开始进行8方向链码跟踪,直到得到的某个边缘像素点不存在下一个8方向链码停止跟踪,此时得到了一段链码,标记链码中的边缘像素点;再次从左到右,从上到下开始扫描边缘图像,对得到的第一个未被标记的边缘像素点进行链码跟踪,直到二值图像中的边缘像素点都完成链码跟踪,停止链码编码,最终得到多段链码。
25.得到的多段链码中,有眼睑、睫毛区域对应的链码,有瞳孔区域对应的链码,需要根据链码中元素的特征去除部分眼睑和睫毛区域对应的链码,减少后续计算量。在链码中,设置总长为30的滑框,对链码进行动态分析,设置最小数量阈值为10个像素点,如果某段链码中的元素数量m≤10,则这段链码对应的边缘像素点组成的边缘线过短,不可能为瞳孔区域的边缘线,则该段链码不进行后续计算;对其余链码进行滑框分析,如果某段链码中的元素数量10《m≤30时,统计这段链码的滑框中元素的众数出现的频数m;如果某段链码中的元素数量30《m时,利用滑框统计这段链码中每个滑框中元素的众数,求每段链码的所有滑框中众数的众数,将得到的该众数记为目标众数,获取每段链码中目标众数出现的频数,例如有30个滑框,其中有20个滑框的众数都是5链码方向,则目标众数就为5,目标众数出现的频数为20/30,根据下式(2)计算每段链码的边缘平直判定系数α:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,表示每段链码的每个滑框中元素的众数出现的频数;g表示每段链码中滑框滑动的次数;表示每段链码的目标众数出现的频数;表示每个滑框中元素的总数量;表示每段链码的边缘平直判定系数;设置边缘平直系数阈值为0.7,边缘平直系数阈值可根据实际情况自行设置,当α≥0.7时,这段链码的每个滑框对应的边缘像素点的排列方向在总体上是该滑框中众数的链码方向,可认为该链码对应的边缘像素点组成的边缘线较为平直,不可能为瞳孔区域的边缘线,不进行后续计算,将α0.7对应的链码记为初始目标链码,在初始目标链码中确定出瞳孔区域对应的链码;通过对每段链码的边缘平直判定系数的计算,去除了边缘平直判定系数较大的链码对应的边缘像素点,即该部分边缘像素点组成的较为平直的边缘线,后续只需要考虑边缘平直判定系数小的链码对应的边缘像素点,即更趋近于圆的边缘线对应的边缘像素点,减少了后续的计算量。
26.s3、获取每段初始目标链码对应的边缘像素点组成的边缘线,过同一边缘线上任
意不相邻的两个边缘像素点做直线,获取直线的距离阈值内的边缘像素点的离散程度;根据每条直线对应的离散程度从初始目标链码中确定出目标链码。
27.具体的,利用多段链码得到了多条边缘线的特征,根据边缘线的平直程度确定出了初始目标链码,首先获取初始目标链码对应的边缘像素点组成的边缘线,过初始目标链码对应的同一边缘线上任意不相邻的两个边缘像素点做直线,设置距离阈值,获取边缘图像中距离该直线距离阈值范围内的所有边缘像素点到该直线的距离,并设置近距离区间,近距离区间表示像素点距离直线在范围内,则距离直线在的范围表示远距离区间,将距离阈值等间距划分,即近距离区间和远距离区间的区间范围是相等的,根据下式(3)计算直线的距离阈值内边缘像素点的离散程度:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中,表示直线的距离阈值内边缘像素点的离散程度;表示直线的近距离区间的边缘像素点的数量;表示直线的远距离区间的边缘像素点的数量。
28.在所做的第一条直线的距离阈值外,任意选取某条初始目标链码对应的边缘线上不相邻的两个像素点,过这两个边缘像素点做直线,根据获取第一条直线对应的离散程度的方法获取该直线的距离阈值内的边缘像素点的离散程度;在得到的两条直线的距离阈值外,任意选取某条初始目标链码对应的边缘线上不相邻的两个像素点,获取这两个像素点对应的直线的距离阈值内的边缘像素点的离散程度,以此类推,直到边缘图像中所有的初始目标链码对应的边缘像素点都在所得到的直线的距离阈值内,停止获取边缘像素点计算离散程度。
29.当直线的距离阈值内边缘像素点的离散程度小于等于设置的离散阈值即时,获取该直线对应的边缘线,则该边缘线弯曲的弧度较为平直,不能作为瞳孔区域的边缘线,所以去除此直线对应的边缘线的初始目标链码,将离散程度大于离散阈值,即的直线对应的边缘线的初始目标链码记为目标链码,通过去除离散程度较小的直线对应的边缘线,即去除了弯曲程度较为趋近直线的边缘线,减少了后续的计算量。
30.s4、选取最长的目标链码作为疑似瞳孔链码,去除该疑似瞳孔链码中连续相同的元素得到目标元素,利用目标元素对应的像素点进行霍夫圆变换得到一个圆,根据该圆的圆心和半径得到瞳孔的位置和大小。
31.经典霍夫圆变换是一种对图像中所有像素点进行拟合的算法,而由于数字图像相对于模拟图像是一种离散的位图图像,如图5所示,其在图像中呈现圆时无法呈现一个完美的圆,所以需要对像素点进行霍夫圆变换得到一个确定的圆,在圆的放大的位图图像中会存在连续直线部分,这些连续直线部分的像素点在霍夫圆变换时,不存在共圆关系,所以会产生不必要的计算量,因此本方案采用链码的方式选取不是直线的部分进行霍夫圆变换,减少计算量。
32.具体的,在步骤s3中已经得到了所有目标链码,在边缘图像中,瞳孔区域的边缘线应该是最长的,则对应的目标链码也是最长的,所以获取最长的目标链码作为疑似瞳孔链
码,疑似瞳孔链码对应的边缘线会存在连续直线部分,这些连续直线部分的像素点在霍夫圆变换时,不存在共圆关系,所以会产生不必要的计算,这些连续直线在疑似瞳孔链码中对应连续相同的元素,所以去除疑似瞳孔链码中连续相同的元素,将该疑似瞳孔链码中的其余元素作为目标元素,对目标元素对应的像素点进行霍夫圆变换,将目标元素对应的像素点记为目标像素点。
33.将边缘图像中的目标像素点进行霍夫圆变换转换到霍夫空间,过边缘图像中的一个目标像素点可以做多个圆,圆的圆心坐标为,半径为r,则圆的参数表示为,每个通过的圆在霍夫空间中为一个点,所以边缘图像中的一个目标像素点在霍夫空间中会得到一条由多个点组成的三维的曲线,两个不同的目标像素点进行霍夫变换后得到的曲线在霍夫空间中相交,则它们有一组公共的,也就意味着这两个目标像素点在边缘图像中位于同一个圆周上,霍夫空间中越多曲线交于一点,也就意味着这个交点表示的圆在边缘图像中由更多的目标像素点组成,根据霍夫圆变换的累加得到累加值最高的点,则为边缘图像中的一个圆,即瞳孔区域对应的圆,其中,表示瞳孔区域的位置,即瞳孔区域圆心的坐标,表示瞳孔的大小,即瞳孔区域的半径。
34.综上所述,本发明提供一种瞳孔图像分割方法,通过根据链码编码表示边缘线的特征,根据链码中元素种类的数量从多段链码中确定出初始目标链码,去除了较为平直的边缘线对应的链码,减少了后续的计算量;并且通过计算直线的距离阈值内边缘像素点的离散程度,去除了离散程度较小,即分布的区域形状较为趋近直线的边缘线对应的初始目标链码,减少了计算量;本发明还去除了疑似瞳孔链码中连续相同的元素,对其余元素进行霍夫圆变换,减少了计算量,提高了检测效率。
35.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1