本发明具体涉及一种快速人眼检测方法。
背景技术:
国内外研究表明,驾驶员在疲劳的状态下,对周围环境的感知能力、危险的判断能力和车辆的操控能力都会较正常情况有不同程度的下降,从而导致交通事故。因此,疲劳驾驶检测具有极为重要的意义。
当前疲劳检测系统主要采用基于图像处理技术的非接触检测方法,这种疲劳驾驶系统主要是检测与分析驾驶员眼睛的状态。在疲劳驾驶发生时,驾驶员眨眼频率会上升,闭眼时间增加,基于眼睛状态的疲劳驾驶标准perclos是目前最为准确同时也是被广泛接受的标准。
目前基于图像处理技术的疲劳驾驶检测系统的算法主要采用基于haar特征的adaboost算法,该方法首先采用级联分类器确定人脸区域,再用同样的方法确定人眼位置,通过分析人眼状态结合perclos标准来判断疲劳驾驶行为是否发生。而在实际运用环境中,由于摄像头与人脸所成角度的改变、驾驶员头部的晃动、车辆抖动等因素,adaboost算法表现出较差的鲁棒性,拒真率高导致识别率较低;搜索人眼的过程中也有采用模板匹配的方法,模板匹配计算规模较大,而且在人眼睁闭时,由于目标形状的变化,采用固定单一模板会丢失目标,如果采取多种模板匹配则计算量过大,无法达到实时性要求。
技术实现要素:
本发明要解决的技术问题是提供一种快速人眼检测方法。
一种快速人眼检测方法,包括以下步骤:
s1:采集人眼视频图像,设本帧待检测图像img,上一次adaboost人眼检测成功结果adaeyeimg,对当前帧待检测图像img进行预处理;
s2:如果前几帧内检测到人脸区域,则采用差分方法进行跟踪,否则采用adaboost进行检测,得到froi;
s3:对froi进行adaboost人眼检测,如果检测成功,得到人眼结果neweyeimg,同时更新adaeyeimg;否则采用变模板匹配检测得到人眼结果neweyeimg,当adaboost方法连续失败超过5次时,放弃对本帧的检测,人眼检测失败,下一帧从s1开始;
s4:将neweyeimg和adaeyeimg,作为输入,用多特征分类器进行检测;如果通过分类器,则将neweyeimg周围区域作为下一帧froi,在下帧检测时直接进行s3,否则,下一帧从s1开始,本帧检测失败。
本发明的有益效果是:
本发明在adaboost算法的基础上,使用变模板匹配方法进行人眼检测,并改进了“人脸-人眼模型”,采用多特征的分类器来有选择的跳过人脸检测步骤,从而快速准确地定位人眼。
具体实施方式
以下具体实施例对本发明作进一步阐述,但不作为对本发明的限定。
一种快速人眼检测方法,包括以下步骤:
s1:采集人眼视频图像,设本帧待检测图像img,上一次adaboost人眼检测成功结果adaeyeimg,对当前帧待检测图像img进行预处理;
s2:如果前几帧内检测到人脸区域,则采用差分方法进行跟踪,否则采用adaboost进行检测,得到froi;
s3:对froi进行adaboost人眼检测,如果检测成功,得到人眼结果neweyeimg,同时更新adaeyeimg;否则采用变模板匹配检测得到人眼结果neweyeimg,当adaboost方法连续失败超过5次时,放弃对本帧的检测,人眼检测失败,下一帧从s1开始;
s4:将neweyeimg和adaeyeimg,作为输入,用多特征分类器进行检测;如果通过分类器,则将neweyeimg周围区域作为下一帧froi,在下帧检测时直接进行s3,否则,下一帧从s1开始,本帧检测失败。