《一种用于疲劳驾驶实时监测的眼睛定位方法.pdf》由会员分享,可在线阅读,更多相关《一种用于疲劳驾驶实时监测的眼睛定位方法.pdf(12页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104123549 A (43)申请公布日 2014.10.29 CN 104123549 A (21)申请号 201410369776.0 (22)申请日 2014.07.30 G06K 9/00(2006.01) (71)申请人 中国人民解放军第三军医大学第二 附属医院 地址 400037 重庆市沙坪坝区新桥正街 183 号 (72)发明人 赵安 梁万元 种银保 (74)专利代理机构 重庆华科专利事务所 50123 代理人 徐先禄 (54) 发明名称 一种用于疲劳驾驶实时监测的眼睛定位方法 (57) 摘要 本发明涉及一种用于疲劳驾驶实时监测的眼 睛定位方法, 利用。
2、 Matlab2012 软件实现, 包括以 下步骤 : 步骤一, 对人脸及眼睛初始定位, 获得眼 睛精确图像 ; 步骤二, 基于 YCbCr 色彩空间肤色 模型的相邻帧差法, 求相邻帧差值的绝对值 ; 步 骤三, 根据相邻帧差值的二值图像, 判断前后两帧 头部图像是否重叠 ; 步骤四, 头部位移检测 : 分别 检测头部横向位移 dx 及纵向位移 dy ; 步骤五, 眼 睛候选区域预测 ; 步骤六, 眼睛候选区域修正 ; 步 骤七, 重复步骤二至步骤六, 进行下一帧的眼睛定 位。 本发明能够在减少人脸定位计算量、 提高眼睛 定位的速度和图像处理帧速的同时, 确保眼睛定 位的准确性, 从而兼顾依据。
3、眼睛状态进行驾驶疲 劳监测的实时性及可靠性。 (51)Int.Cl. 权利要求书 2 页 说明书 7 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书7页 附图2页 (10)申请公布号 CN 104123549 A CN 104123549 A 1/2 页 2 1. 一种用于疲劳驾驶实时监测的眼睛定位方法, 利用 Matlab2012 软件实现, 包括以下 步骤 : 步骤一, 对人脸及眼睛初始定位, 获得眼睛精确图像 : 先利用摄像头拍摄清晰的人脸彩 色图像, 再分割人脸彩色图像, 获得人脸宽度 Fw 和人脸高度 Fh, 然后, 利用 “现有。
4、眼睛定位 方法” 对第一帧图像进行眼睛定位, 得出第一帧眼睛所在的矩形区域和精确位置, 即眼睛精 确图像, 并记录下眼睛位置的参数 (x,y),w,h ; 步骤二, 基于 YCbCr 色彩空间肤色模型的相邻帧差法, 求相邻帧差值的绝对值 : 先将相 邻两帧彩色图像均转换到 YCbCr 色彩空间, 得到前后两帧 YCbCr 色彩空间的图像, 用 img1 表示前一帧 YCbCr 色彩空间的图像, 用 img2 表示后一帧 YCbCr 色彩空间的图像 ; 然后利用 “肤色模型” 对 img1 和 img2 进行二值化处理, 得到两帧二值图像, 用 BW1 表示前一帧二值图 像, 用 BW2 表示后。
5、一帧二值图像 ; 最后将两帧二值图像 BW1 和 BW2 相减并取绝对值, 得到相 邻帧差值的二值图像 BW ; 步骤三, 根据相邻帧差值的二值图像, 判断前后两帧头部图像是否重叠 : 相邻两帧头部 图像若是重叠, 则执行下一步 ; 相邻两帧头部图像若没有重叠, 返回步骤一 ; 相邻两帧头部图像重叠判断的方法是, 假设前一帧二值图像 BW1 的像素值为 1 的区域 面积为 A1, 假设后一帧二值图像 BW2 的像素值为 1 的区域面积为 A2, 假设相邻帧差值的二 值图像 BW 的像素值为 1 的区域面积为 A3, 若 0 A3 A1+A2, 则相邻两帧图像有重叠, 否 则不重叠 ; 步骤四,。
6、 头部位移检测 : 分别检测头部横向位移 dx 及纵向位移 dy ; 步骤五, 眼睛候选区域预测 : 依据头部位移, 利用 “眼睛位移预测模型” 对眼睛横向位移 Dx 及纵向位移 Dy 进行预测 ; 所述眼睛位移预测模型为 : 令前一帧图像的眼睛实际所在的矩形区域表示为 (x,y),w,h, (x,y) 为矩形区域左 上角点的坐标, w 为矩形的宽度, h 为矩形的高度 ; 根据位移量 Dx、 Dy和前一帧眼睛所在的矩 形区域, 即可确定当前帧眼睛候选区域 : 步骤六, 眼睛候选区域修正 : 1) 利用 Matlab2012 软件中的 rgb2gray 函数将眼睛候选区域图转换为灰度图像 ; 。
7、2) 利用 “最大类间方差法” 找出图像进行灰度阈值分割所需要的阈值 T ; 3) 利用阈值 T 对图像进行阈值分割, 得到一幅二值图像 ; 4) 利用 Matlab2012 软件中的 bwlabel 函数对阈值分割后得到的二值图像进行连通区 域标记 ; 5) 找出连通标记结果中面积最大的两个区域, 作为眼睛区域 ; 6) 截取眼睛候选区域原始图像中与 4) 中区域对应的图像, 得到的图像即为眼睛的准 确区域图像 ; 7) 参照图 2 记录下眼睛的位置参数 (x,y),w,h, 替代步骤一中的 (x,y),w,h ; 步骤七, 重复步骤二至步骤六, 进行下一帧的眼睛定位。 权 利 要 求 书 。
8、CN 104123549 A 2 2/2 页 3 2. 根据权利要求 1 所述的一种用于疲劳驾驶实时监测的眼睛定位方法, 其特征是 : 步 骤一中所述的 “现有眼睛定位方法” 包括肤色检测、 人脸分割、 灰度积分投影和形态学处理 四个步骤。 3. 根据权利要求 1 所述的一种用于疲劳驾驶实时监测的眼睛定位方法, 其特征是 : 步 骤二中所述的 “肤色模型” 为 : 其中 Cb 和 Cr 代表 YCbCr 色彩空间中的两个色度分量 ; 利用上述肤色模型对 img1 和 img2 进行肤色检测, 将符合肤色模型的点的像素值令为 1, 不符合肤色模型的点的像素值 令为 0, 分别得到前一帧二值图像 。
9、BW1 和后一帧二值图像 BW2, 最后将 BW1 和 BW2 相减并取 绝对值, 得到相邻帧差值的二值图像 BW, 即 YCbCr 空间的相邻帧差图。 4. 根据权利要求 1 所述的一种用于疲劳驾驶实时监测的眼睛定位方法, 其特征是 : 步 骤二中所述的头部位移检测, 依据下列步骤进行 ; (1) 首先通过从上至下扫描图像, 找到第一次出现白色像素的横线, 取该横线以下人脸 高度 Fh 的图像区域, 记为 p1 ; (2) 取 p1 中上 2/3 的区域, 记为 p2 ; (3)根据p2中白色区域的左右边界, 取出左右边界内的区域, 记为p3, 即为头部的横向 大致运动范围, 且令 p3 的。
10、宽为 W, 高为 H ; (4)以p3的水平中轴线yH/2为界, 上下分别取出占图像高度30的图像, 记为p4 ; 计算 p4 每一行连续白色像素的最大宽度, 记为 dxi, 其中 i 1,0.6H ; 将 dxi的平均值作 为头部的横向位移, 记为 dx (5)以p3的垂直中轴线xW/2为界, 左右分别取出占图像宽度30的图像, 记为p5 ; 计算中 p5 每一列中连续白色像素的最大宽度, 记为 dyj, 其中 j 1,0.6W ; 将 dyj的平均 值作为头部的纵向位移, 记为 dy 权 利 要 求 书 CN 104123549 A 3 1/7 页 4 一种用于疲劳驾驶实时监测的眼睛定位方。
11、法 技术领域 0001 本发明涉及疲劳驾驶监测方法, 具体涉及一种用于疲劳驾驶实时监测的眼睛定位 方法。 背景技术 0002 随着社会经济发展, 汽车已成为人们日常生活中必不可少的一种交通工具。汽车 数量的日益增加, 在为人们的出行、 运输等带来方便的同时, 频发的交通事故也给人们的生 命安全和财产带来了巨大的损失。根据国内外的相关统计数据表明, 各国因疲劳驾驶而导 致的交通事故占到交通事故总数的 10 20, 可见疲劳驾驶是造成交通事故的主要因 素之一, 因而近年来疲劳驾驶监测技术的研究受到越来越多的关注。 0003 目前, 疲劳驾驶监测技术主要包括基于人体生理信号、 驾驶员操作行为和车辆状。
12、 态的驾驶疲劳监测技术, 但是由于生理信号非平稳性、 传感器的复杂性和接触性, 以及模型 的不完善, 没能取得较好的监测效果。如 CN 102406507 A 公开 “一种基于人体生理信号的 汽车驾驶员疲劳监测方法” , 包括疲劳标定方法和检测方法。标定方法包括 : 通过传感器采 集并提取 N 次单位时间的脉搏峰值与频率、 心率以及呼吸频率构成疲劳特征标定矩阵, 通 过主成分分析方法建立各疲劳特征的权重向量, 将权值加成至标定矩阵, 由此构建疲劳标 定向量。 疲劳检测方法包括 : 将标定权重加成至单位时间内疲劳特征向量, 计算特征向量与 标定向量的马氏距离, 通过其距离离散程度判别汽车驾驶员疲。
13、劳程度, 并进行预警。 该监测 方法基于中医理论, 结合现代信号处理方法寻找出汽车驾驶员的疲劳特征。 0004 CN103279752A 公开 “一种基于改进 Adaboost 方法和人脸几何特征的眼睛定位方 法” , 其具体步骤为 : 步骤一 : 分别训练人脸分类器和眼睛分类器 ; 步骤二 : 利用训练好的 人脸分类器确定人脸位置 ; 步骤三 : 利用训练好的眼睛分类器在检测出的人脸区域的上部 2/3 的部分确定候选眼睛区域的位置 ; 步骤四 : 利用人脸统计学意义上的内在几何特征确 定各组眼睛对的几何特征系数 ; 步骤五 : 确定每组候选眼睛对的各自判决度量 d ; 步骤六 : 比较各组候。
14、选眼睛对的判决度量, 判决度量越小, 表示该候选眼睛对的置信水平越高 ; 即可 确定出最佳的一组眼睛对, 进而确定出眼睛的最佳位置。该定位方法利用人脸内在的几何 特征对搜索到的眼睛区域进一步甄别, 能够准确有效地确定眼睛的最佳位置。 但是, 不能监 测眼睛疲劳程度。 0005 较为成熟的技术是通过视频监测眼睛疲劳程度来实现 PERCLOS(Percentage of Eyelid Closure Over the Pupil Over Time, 眼睛闭合占特定时间的百分率 ) 监测。当前 PERCLOS监测在具体实现时, 对每帧图像重复进行相同的定位步骤。 虽然逐帧定位能实现眼 睛的精确定位。
15、, 但是没有发掘相邻帧图像之间的关联来简化人脸、 眼睛的某些定位步骤, 计 算量大, 眼睛定位速度难以提升, 实时性差。前人研究结果表明, 一般情况下人们眼睛闭合 的时间在 0.2 0.3s 之间, 而 PERCLOS 指标常以一分钟作为人脸采样与分析的时间窗, 若 眼睛定位方法实时性不能满足采样定理的要求, 则难以准确监测眼睛的开闭状态, 对于瞬 间发生的疲劳事件容易出现延误判决和漏判, 难以有效避免事故的发生。因而系统延迟对 说 明 书 CN 104123549 A 4 2/7 页 5 于现有 PERCLOS 疲劳驾驶监测方法的有效性影响甚大。为了获得较好的疲劳监测和预警效 果, 还需要进。
16、一步探索眼睛定位方法, 并满足 PERCLOS 疲劳判定模型对实时性的要求。 发明内容 0006 本发明针对现有逐帧眼睛定位方法计算量大, 速度慢的缺点, 提出一种用于疲劳 驾驶实时监测的眼睛定位方法, 该方法能够在保证眼睛定位准确性的同时, 减少人脸定位 的计算量, 从而提高图像处理速度, 实现对眼睛开闭状态的实时监测, 保证驾驶疲劳监测系 统的可靠性。 0007 该方法基于 YCbCr 色彩空间相邻两帧的差值来检测等采样间隔中眼睛位置的移 动, 并参照前一帧图像定位出的眼睛准确区域, 就可以确定当前帧眼睛的候选区域, 再对候 选区域进行提取, 即可得到眼睛的准确区域。 0008 本发明所述。
17、的一种用于疲劳驾驶实时监测的眼睛定位方法, 利用 Matlab2012 软 件实现, 包括以下步骤 : 0009 步骤一, 对人脸及眼睛初始定位, 获得眼睛精确图像 : 先利用摄像头拍摄清晰的人 脸彩色图像, 再分割人脸彩色图像, 获得人脸宽度 Fw 和人脸高度 Fh, 然后, 利用现有眼睛定 位方法对第一帧图像进行眼睛定位, 得出第一帧眼睛所在的矩形区域和精确位置, 即眼睛 精确图像, 并记录下眼睛位置的参数 (x,y),w,h ; 0010 步骤二, 基于 YCbCr 色彩空间肤色模型的相邻帧差法, 求相邻帧差值的绝对值 : 先 将相邻两帧彩色图像均转换到 YCbCr 色彩空间, 得到前后。
18、两帧 YCbCr 色彩空间的图像, 用 img1 表示前一帧 YCbCr 色彩空间的图像, 用 img2 表示后一帧 YCbCr 色彩空间的图像 ; 然后 利用 “肤色模型” ( 袁英 . 基于视觉的汽车驾驶员疲劳驾驶检测算法研究, 沈阳工业大学硕 士学位论文, 2010 年, p.11) 对 img1 和 img2 进行二值化处理, 得到两帧二值图像, 用 BW1 表 示前一帧二值图像, 用BW2表示后一帧二值图像 ; 最后将两帧二值图像BW1和BW2相减并取 绝对值, 得到相邻帧差值的二值图像 BW。 0011 步骤三, 根据相邻帧差值的二值图像, 判断前后两帧头部图像是否重叠 : 相邻两。
19、帧 头部图像若是重叠, 则执行下一步 ; 相邻两帧头部图像若没有重叠, 返回步骤一 ; 0012 相邻两帧头部图像重叠判断的方法是, 假设前一帧二值图像 BW1 的像素值为 1 的 区域面积为 A1, 假设后一帧二值图像 BW2 的像素值为 1 的区域面积为 A2, 假设相邻帧差值 的二值图像BW的像素值为1的区域面积为A3, 若0A3A1+A2, 则相邻两帧图像有重叠, 否则不重叠 ; 0013 步骤四, 头部位移检测 : 分别检测头部横向位移 dx 及纵向位移 dy ; 0014 步骤五, 眼睛候选区域预测 : 0015 依据头部位移, 利用 “眼睛位移预测模型” 对眼睛横向位移 Dx 及。
20、纵向位移 Dy 进行 预测 ; 令前一帧图像的眼睛实际所在的矩形区域表示为 (x,y),w,h, (x,y) 为矩形区域左 上角点的坐标, w 为矩形的宽度, h 为矩形的高度 ; 根据位移量 Dx、 Dy和前一帧眼睛所在的矩 形区域, 即可确定当前帧眼睛候选区域 : 0016 步骤六, 眼睛候选区域修正 : 0017 1) 利用 Matlab2012 软件中的 rgb2gray(rgb2gray 是享誉全球的科学计算软件 说 明 书 CN 104123549 A 5 3/7 页 6 Matlab图像处理工具箱中的函数, 其功能是将彩色图像RGB转换成灰度图像I, 其使用方法 为 : I rg。
21、b2gray(RGB) 函数将眼睛候选区域图转换为灰度图像 ; 0018 2)利用 “最大类间方差法” (NOBUYUKI OTSU.A threshold selection method from gray level histograms.IEEE TRANSACTIONS ON SYSTREMS,MAN,AND CYBERNETICS,VOL. SMC-9,NO.1,JANUARY 1979,p62-66.) 找出图像进行灰度阈值分割所需要的阈值 T ; 0019 3) 利用阈值 T 对图像进行阈值分割, 得到一幅二值图像 ; 0020 4) 利用 Matlab2012 软件中的 bw。
22、label 【Matlab 图像处理工具箱的函数, 其功能是 标记二值图像中的连通区域, 使用方法Lbwlabel(BW,n), 该函数返回一个与BW同样大小 的矩阵 L, L 含有 BW 中连通对象的标记, n 一般选取 4 或者 8, 意即四向连通或八向连通, 默 认为 8】 函数对阈值分割后得到的二值图像进行连通区域标记 ; 0021 “连通区域标记法”出自 数字图像处理 , 作者 : ( 美 ) 冈萨雷斯等著出版社 : 电子工业出版社, 出版时间 : 2004-5-1 字数 : 879000 版次 : 1 版 1 次页数 : 609 印刷时间 : 2004-5-1 I S B N : 。
23、9787505398764。 0022 二值图像的连通区域标记是从仅由 “0” 像素 ( 通常表示背景点 ) 和 “1” 像素 ( 通 常表示模式图形点 ) 组成的一幅点阵图像中, 将相互邻接 (4- 邻域或 8- 邻域 ) 的 “1” 值像 素集合提取出来。 0023 5) 找出连通标记结果中面积最大的两个区域, 作为眼睛区域 ; 0024 6) 截取眼睛候选区域原始图像中与 4) 中区域对应的图像, 得到的图像即为眼睛 的准确区域图像 ; 0025 7) 参照图 2 记录下眼睛的位置参数 (x,y),w,h, 替代步骤一中的 (x,y),w,h。 0026 步骤七, 重复步骤二至步骤六, 。
24、进行下一帧的眼睛定位。 0027 进一步, 所述的现有眼睛定位方法的包括肤色检测、 人脸分割、 灰度积 0028 分投影和形态学处理四个步骤。 0029 进一步, 所述肤色模型为 : 0030 0031 其中 Cb 和 Cr 代表 YCbCr 色彩空间中的两个色度分量。利用上述肤色模型对 img1 和 img2 进行肤色检测, 将符合肤色模型的点的像素值令为 1, 不符合肤色模型的点的像素 值令为 0, 分别得到二值图像 BW1 和二值图像 BW2, 最后将 BW1 和 BW2 相减并取绝对值, 得到 二值图像 BW, 即 YCbCr 空间的相邻帧差图。 0032 进一步, 头部位移检测依据下。
25、列步骤进行 ; 0033 (1) 首先通过从上至下扫描图像, 找到第一次出现白色像素的横线, 取该横线以下 Fh 的图像区域, 记为 p1 ; 0034 (2) 取 p1 中上 2/3 的区域, 记为 p2 ; 0035 (3)根据p2中白色区域的左右边界, 取出左右边界内的区域, 记为p3, 即为头部的 横向大致运动范围, 且令 p3 的宽为 W, 高为 H ; 0036 (4) 以 p3 的水平中轴线 y H/2 为界, 上下分别取出占图像高度 30的图像, 记 为 p4 ; 计算 p4 每一行连续白色像素的最大宽度, 记为 dxi, 其中 i 1,0.6H ; 将 dxi的平 均值作为头。
26、部的横向位移, 记为 dx 说 明 书 CN 104123549 A 6 4/7 页 7 0037 0038 (5) 以 p3 的垂直中轴线 x W/2 为界, 左右分别取出占图像宽度 30的图像, 记 为 p5 ; 计算中 p5 每一列中连续白色像素的最大宽度, 记为 dyj, 其中 j 1,0.6W ; 将 dyj 的平均值作为头部的纵向位移, 记为 dy 0039 0040 本发明的有益效果 0041 本发明基于 YCbCr 色彩空间相邻帧差建模的眼睛定位方法, 利用基于 YCbCr 色彩 空间的相邻帧之差的特征可检测出等采样间隔眼睛位置的变化。 若眼睛位移大小在可检测 范围内, 即可参。
27、考前一帧图像检测的眼睛精确位置来选定后一帧图像的眼睛候选区域, 简 化了传统眼睛定位方法中眼睛的定位步骤 ; 若眼睛位移大小在可检测范围之外, 则利用传 统的眼睛定位方法进行定位。 正常驾驶的情况下, 驾驶员头部运动幅度一般不会很大, 因而 出现眼睛位移在可检测范围之外的概率很小, 本定位方法的总体实时性能够得到较大的提 升。 附图说明 0042 图 1 为本发明眼睛定位方法流程图 ; 0043 图 2 为现有眼睛定位方法流程图 ; 0044 图 3 为眼睛位置参数示意图 ; 0045 图 4 为相邻帧差法示意图 ; 0046 图 5 为眼睛候选区域修正过程示意图 ; 0047 图 6 是 2。
28、00 帧图像手动检测的眼睛横向位移 Dx 与自动检测的头部横向位移 dx 散 点图及拟合直线图 ; 0048 图 7 是 200 帧图像手动检测的眼睛纵向位移 Dx 与自动检测的头部纵向位移 dx 散 点图及拟合直线图。 具体实施方式 0049 下面结合附图对本发明作进一步详细说明。 0050 参见图 1, 所述的一种用于疲劳驾驶实时监测的眼睛定位方法, 利用 Matlab2012 软件实现, 包括以下步骤 : 0051 步骤一, 对人脸及眼睛初始定位, 获得眼睛精确图像 : 先利用摄像头拍摄清晰的人 脸彩色图像, 再分割人脸彩色图像, 获得人脸宽度 Fw 和人脸高度 Fh, 然后, 利用 “。
29、现有眼睛 定位方法” 对第一帧图像进行眼睛定位, 得出第一帧眼睛所在的矩形区域和精确位置, 即眼 睛精确图像 ; 并记录下眼睛位置的参数 (x,y),w,h( 参见图 3) ; 0052 所述 “现有眼睛定位方法” ( 参见图 2) 包括肤色检测、 人脸分割、 灰度积分投影和 形态学处理四个步骤。 0053 步骤二, 基于 YCbCr 色彩空间肤色模型的相邻帧差模型, 求相邻帧差值的绝对值 : 说 明 书 CN 104123549 A 7 5/7 页 8 先将相邻两帧彩色图像均转换到YCbCr色彩空间, 得到前后两帧YCbCr色彩空间的图像, 用 img1 表示前一帧 YCbCr 色彩空间的图。
30、像, 用 img2 表示后一帧 YCbCr 色彩空间的图像 ; 然后 利用 “肤色模型” 对 img1 和 img2 进行二值化处理, 得到两帧二值图像, 用 BW1 表示前一帧 二值图像, 用 BW2 表示后一帧二值图像 ; 最后将两帧二值图像 BW1 和 BW2 相减并取绝对值, 得到相邻帧差值的二值图像 BW ; 0054 所述肤色模型为 : 0055 0056 其中 Cb 和 Cr 代表 YCbCr 色彩空间中的两个色度分量。利用上述肤色模型对 img1 和 img2 进行肤色检测, 将符合肤色模型的点的像素值令为 1, 不符合肤色模型的点的像素 值令为 0, 分别得到二值图像 BW1。
31、 【参见图 4(1)】 和二值图像 BW2 【参见图 4(2)】 , 最后将 BW1 和 BW2 相减并取绝对值, 得到二值图像 BW【参见图 4(3)】 0057 步骤三, 根据相邻帧差值的二值图像, 判断前后两帧头部图像是否重叠 : 相邻两帧 头部图像若是重叠, 则执行下一步 ; 相邻两帧头部图像若没有重叠, 返回步骤一 ; 0058 相邻两帧头部图像重叠判断的方法是, 假设前一帧二值图像 BW1 的像素值为 1 的 区域面积为 A1, 假设后一帧二值图像 BW2 的像素值为 1 的区域面积为 A2, 假设相邻帧差值 的二值图像BW的像素值为1的区域面积为A3, 若0A3A1+A2, 则相。
32、邻两帧图像有重叠, 否则不重叠 ; 0059 步骤四, 头部位移检测 : 分别检测头部横向位移 dx 及纵向位移 dy : 0060 所述头部位移检测依据下列步骤进行 ; 0061 (1) 首先通过从上至下扫描图像, 找到第一次出现白色像素的横线, 取该横线以下 Fh( 人脸高度 ) 的图像区域, 记为 p1 ; 0062 (2) 取 p1 中上 2/3 的区域, 记为 p2 ; 0063 (3)根据p2中白色区域的左右边界, 取出左右边界内的区域, 记为p3, 即为头部的 横向大致运动范围, 且令 p3 的宽为 W, 高为 H ; 0064 (4) 以 p3 的水平中轴线 y H/2 为界,。
33、 上下分别取出占图像高度 30的图像, 记 为 p4 ; 计算 p4 每一行连续白色像素的最大宽度, 记为 dxi, 其中 i 1,0.6H ; 将 dxi的平 均值作为头部的横向位移, 记为 dx 0065 0066 (5) 以 p3 的垂直中轴线 x W/2 为界, 左右分别取出占图像宽度 30的图像, 记 为 p5 ; 计算中 p5 每一列中连续白色像素的最大宽度, 记为 dyj, 其中 j 1,0.6W ; 将 dyj 的平均值作为头部的纵向位移, 记为 dy 0067 0068 步骤五, 眼睛候选区域预测 : 依据头部位移, 利用 “眼睛位移预测模型” 对眼睛横向 位移 Dx 及纵向。
34、位移 Dy 进行预测 ; 所述眼睛位移预测模型为 : 说 明 书 CN 104123549 A 8 6/7 页 9 0069 0070 令前一帧图像的眼睛实际所在的矩形区域表示为 (x,y),w,h, (x,y) 为矩形区 域左上角点的坐标, w 为矩形的宽度, h 为矩形的高度 ; 根据位移量 Dx、 Dy和前一帧眼睛所在 的矩形区域, 即可确定当前帧眼睛候选区域 : 0071 0072 对于每一个特定的监测对象而言, 眼睛在头部的位置是确定的, 因而依据头部位 移检测眼睛位置变化是可行的。为了建立依据头部位移检测眼睛位置变化的模型, 本发明 利用摄像头连续采集同一个人在同一背景下的 200。
35、 帧头部的彩色图像, 采集过程中人的头 部在摄像头视野内随机的左右和前后运动, 且眼睛进行自然的开闭。 0073 首先, 将采集的这200帧图像以相邻两帧作为一组数据, 利用YCbCr空间相邻帧差 法进行处理, 得到 199 组头部位置变化数据 (dxi,dyi), 其中 i 2,.200。 0074 然后, 对这 200 帧图像利用手工选定区域的方式, 划出每帧图像双眼组成的最小 矩形区域, 找到矩形的中心点作为眼睛的中心位置, 记为 (xi,yi)。再两两进行相减, 得到 199 组眼睛位置变化量 : 0075 0076 参见图 6 和图 7, 可以看出两组数据的呈现较强的线性关系, 相关。
36、系数 : 0077 RR(dxi,Dxi) 0.9725 0078 RR(dyi,Dyi) 0.9219 0079 说明利用本文算法检测出的相邻两帧图像眼睛位置变化量, 与手动检测的相邻两 帧图像眼睛位置变化量呈线性关系。 因而, 根据上面的实验结果, 建立了本文眼睛位置变化 检测模型 : 0080 0081 其中 dx和 dy是依据相邻帧差法得到的头部位移检测值, Dx 和 Dy 为眼睛位移预测 值。 0082 步骤六, 眼睛候选区域修正 : 0083 1) 利用 Matlab2012 软件中的 rgb2gray 函数将眼睛候选区域图转换为灰度图像, 【参见图 5(1)】 ; 0084 2)。
37、 利用 “最大类间方差法” 找出图像进行灰度阈值分割所需要的阈值 T ; 0085 3) 利用阈值 T 对图像进行阈值分割, 得到一幅二值图像,【参见图 5(2)】 ; 0086 4) 利用 Matlab2012 软件中的 bwlabel 函数对阈值分割后得到的二值图像进行连 通区域标记 ; 0087 5) 找出连通标记结果中面积最大的两个区域, 作为眼睛区域,【参见图 5(3)】 ; 0088 6) 截取眼睛候选区域原始图像中与 4) 中区域对应的图像, 得到的图像即为眼睛 说 明 书 CN 104123549 A 9 7/7 页 10 的准确区域图像,【参见图 5(4)】 ; 0089 7。
38、) 参照图 2 记录下眼睛的位置参数 (x,y),w,h, 替代步骤一中的 (x,y),w,h。 0090 由于步骤一得到的眼睛区域是对前一帧眼睛矩形区域的一个拓展, 可能会存在眉 毛等非眼睛区域, 所以需要进一步处理。 0091 步骤七, 重复步骤二至步骤六, 进行下一帧的眼睛定位。 0092 本发明利用Matlab2012软件编程进行仿真实验, 对200帧连续采集的脸部图像进 行处理, 利用现有眼睛定位方法的平均速度为 0.214 秒 / 帧, 利用本发明的方法后, 平均速 度为0.103秒/帧, 是正常情况下人眼闭合时间的1/3到1/2, 所以, 能够有效的避免因为图 像处理速度过慢而导致的眼睛疲劳状态的判定的延时和漏判。 说 明 书 CN 104123549 A 10 1/2 页 11 图 1 图 2 图 3 图 4 说 明 书 附 图 CN 104123549 A 11 2/2 页 12 图 5 图 6 图 7 说 明 书 附 图 CN 104123549 A 12 。