《计算机应用》唯一官方网站 ›› 2021, Vol. 41 ›› Issue (11): 3213-3218.DOI: 10.11772/j.issn.1001-9081.2020122058

• 人工智能 • 上一篇    下一篇

基于人眼状态的瞌睡识别算法

孙琳1(), 袁玉波1,2   

  1. 1.华东理工大学 信息科学与工程学院,上海 200237
    2.上海大数据与互联网受众工程技术研究中心,上海 200072
  • 收稿日期:2020-12-29 修回日期:2021-04-28 接受日期:2021-05-19 发布日期:2021-04-28 出版日期:2021-11-10
  • 通讯作者: 孙琳
  • 作者简介:孙琳(1998—),女,江西抚州人,硕士研究生,主要研究方向:数据分析、机器视觉
    袁玉波(1976—),男,云南宣威人,副教授,博 士,主要研究方向:人工智能、数据科学、大数据分析、数据质量评估、数据挖掘。
  • 基金资助:
    上海市工程技术中心项目(18DZ2252300)

Drowsiness recognition algorithm based on human eye state

Lin SUN1(), Yubo YUAN1,2   

  1. 1.School of Information Science and Engineering,East China University of Science and Technology,Shanghai 200237,China
    2.Shanghai Engineering Research Center of Big Data and Internet Audience,Shanghai 200072,China
  • Received:2020-12-29 Revised:2021-04-28 Accepted:2021-05-19 Online:2021-04-28 Published:2021-11-10
  • Contact: Lin SUN
  • About author:SUN Lin,born in 1998,M. S. candidate. Her research interests include data analysis,computer vision
    YUAN Yubo,born in 1976,Ph. D.,associate professor. His research interests include artificial intelligence,data science,big data analysis,data quality assessment,data mining.
  • Supported by:
    the Shanghai Engineering Technology Center Project(18DZ2252300)

摘要:

已有瞌睡识别算法多数基于机器学习或深度学习,没有考虑到人眼闭合状态序列与瞌睡之间的关系。针对上述问题,提出了一种基于人眼状态的瞌睡识别算法。首先,提出了人眼分割和面积计算模型,基于人脸68个特征点,根据人眼特征点构成的极大多边形分割出眼睛区域,并利用眼睛像素点的总数代表眼睛面积大小;其次,计算极大状态下的人眼面积,并利用关键帧挑选算法挑选出最能代表睁眼程度的4帧,根据这4帧的人眼面积与极大状态下的人眼面积计算睁眼阈值,从而构建眼睛闭合度得分模型来确定人眼闭合状态;最后,根据输入视频的人眼闭合得分序列,构建了基于连续多帧序列分析的瞌睡识别模型。在两个国际常用的打哈欠检测数据集(YawDD)和NTHU-DDD数据集上进行瞌睡状态识别,实验结果表明,所提算法在两个数据集上的识别准确率均在80%以上,尤其是在YawDD数据集上,识别准确率达到94%以上。该算法可应用于驾驶员驾驶状态检测、学习者课中状态分析等。

关键词: 面部特征, 人眼定位, 人眼状态识别, 多帧序列分析, 瞌睡识别

Abstract:

Most of the existing drowsiness recognition algorithms are based on machine learning or deep learning, without considering the relationship between the sequence of human eye closed state and drowsiness. In order to solve the problem, a drowsiness recognition algorithm based on human eye state was proposed. Firstly, a human eye segmentation and area calculation model was proposed. Based on 68 feature points of the face, the eye area was segmented according to the extremely large polygon formed by the feature points of human eye, and the total number of eye pixels was used to represent the size of the eye area. Secondly, the area of the human eye in the maximum state was calculated, and the key frame selection algorithm was used to select 4 frames representing the eye opening state the most, and the eye opening threshold was calculated based on the areas of human eye in these 4 frames and in the maximum state. Therefore, the eye closure degree score model was constructed to determine the closed state of the human eye. Finally, according the eye closure degree score sequence of the input video, a drowsiness recognition model was constructed based on continuous multi-frame sequence analysis. The drowsiness state recognition was conducted on the two commonly used international datasets such as Yawning Detection Dataset (YawDD) and NTHU-DDD dataset.Experimental results show that, the recognition accuracy of the proposed algorithm is more than 80% on the two datasets, especially on the YawDD, the proposed algorithm has the recognition accuracy above 94%. The proposed algorithm can be applied to driver status detection during driving, learner status analysis in class and so on.

Key words: facial feature, human eye location, human eye state recognition, multi-frame sequence analysis, drowsiness recognition

中图分类号: