本发明具体涉及一种红外图像的眼睛开闭检测方法。
背景技术:
疲劳检测中研究最多的是采用基于计算机视觉技术的生理状态检测并结合perclose方法判断疲劳状态,而人眼开闭状态是perclose原理的基本内容。检测眼睛状态的方法有多种,如垂直积分投影法、眼睛高度判断法和眼睛宽高比等,但这些方法易受光照影响且计算的精度不够高。
技术实现要素:
本发明要解决的技术问题是提供一种红外图像的眼睛开闭检测方法。
红外图像的眼睛开闭检测方法,包括以下步骤:
s1:采集人脸红外图像,利用adaboost获取人眼部位;
s2:对眼睛图像做gamma校正克服光照影响;
s3:使用多尺度retinex变换去除光照不均匀引起的阴影干扰;
s4:采用迭代阈值法将图像二值化,从而更准确地获取眼睛区域;
s5:采用融合眼角睁开角度和眼睛睁开高度信息的判断方法来判断眼睛状态。
进一步的,gamma校正的方法如下:
1)分段地将灰度值[0,225]映射到弧度区间[0,π],规则如下分段函数:
式中
2)确定
进一步的,多尺度retinex变换的方法如下:
1)retinex理论模型如下:
2)为获取
3)为获取物体反射光部分r,先估算入射的照度l,采用高斯平滑估计亮度图像,高斯函数如下:
式中,
4)将不同尺度
进一步的,迭代阈值法的步骤如下:
1)找出图像的最大灰度值
2)分别计算图像中灰度值大于和小于
3)更新阈值
4)若
进一步的,判断眼睛状态的方法如下:
1)眼角张开程度:
在得到眼部区域的二值图像后,我们在二值图像中获取上眼睑,然后从左右两端眼角开始分别选取上眼睑的p个点,用下式计算眼角的近似切线斜率
取左右眼角切线斜率平均值对应的弧度作为眼睛的张开角度,眼睛睁得越大则对应的角度越大,同时方差
2)上下眼睑距离:
选择眼睛区域灰度平均值最小的连续5列作为瞳孔的位置,计算该区域上下眼睑距离的平均高度作为眼睛睁开高度h;
3)眼睛开闭判断:
以零点(0,0)为中心,在第一象限中画出半径为r的圆弧,若点
半径r作为划分闭眼和睁眼的阈值,r与半径r比较,当
本发明的有益效果是:
本发明首先利用adaboost获取人眼部位,然后为降低光照的影响,先对眼睛图像做gamma校正克服光照影响,使用多尺度retinex变换去除光照不均匀引起的阴影干扰,再采用迭代阈值法将图像二值化,从而更准确地获取眼睛区域。在判断眼睛状态时,采用融合眼角睁开角度和眼睛睁开高度信息的判断方法提高检测的准确性。
具体实施方式
以下具体实施例对本发明作进一步阐述,但不作为对本发明的限定。
红外图像的眼睛开闭检测方法,包括以下步骤:
s1:采集人脸红外图像,利用adaboost获取人眼部位;
s2:对眼睛图像做gamma校正克服光照影响;
s3:使用多尺度retinex变换去除光照不均匀引起的阴影干扰;
s4:采用迭代阈值法将图像二值化,从而更准确地获取眼睛区域;
s5:采用融合眼角睁开角度和眼睛睁开高度信息的判断方法来判断眼睛状态。
gamma校正的方法如下:
1)分段地将灰度值[0,225]映射到弧度区间[0,π],规则如下分段函数:
式中
2)确定
多尺度retinex变换的方法如下:
1)retinex理论模型如下:
2)为获取
3)为获取物体反射光部分r,先估算入射的照度l,采用高斯平滑估计亮度图像,高斯函数如下:
式中,
4)将不同尺度
迭代阈值法的步骤如下:
1)找出图像的最大灰度值
2)分别计算图像中灰度值大于和小于
3)更新阈值
4)若
判断眼睛状态的方法如下:
1)眼角张开程度:
在得到眼部区域的二值图像后,我们在二值图像中获取上眼睑,然后从左右两端眼角开始分别选取上眼睑的p个点,用下式计算眼角的近似切线斜率
取左右眼角切线斜率平均值对应的弧度作为眼睛的张开角度,眼睛睁得越大则对应的角度越大,同时方差
2)上下眼睑距离:
选择眼睛区域灰度平均值最小的连续5列作为瞳孔的位置,计算该区域上下眼睑距离的平均高度作为眼睛睁开高度h;
3)眼睛开闭判断:
以零点(0,0)为中心,在第一象限中画出半径为r的圆弧,若点
半径r作为划分闭眼和睁眼的阈值,r与半径r比较,当